system.cc (12525:2959af162048) | system.cc (12531:3141027bd11a) |
---|---|
1/* 2 * Copyright (c) 2010, 2012-2013, 2015,2017-2018 ARM Limited 3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 30 unchanged lines hidden (view full) --- 39 * 40 * Authors: Ali Saidi 41 */ 42 43#include "arch/arm/system.hh" 44 45#include <iostream> 46 | 1/* 2 * Copyright (c) 2010, 2012-2013, 2015,2017-2018 ARM Limited 3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 30 unchanged lines hidden (view full) --- 39 * 40 * Authors: Ali Saidi 41 */ 42 43#include "arch/arm/system.hh" 44 45#include <iostream> 46 |
47#include "arch/arm/semihosting.hh" |
|
47#include "base/loader/object_file.hh" 48#include "base/loader/symtab.hh" 49#include "cpu/thread_context.hh" 50#include "mem/fs_translating_port_proxy.hh" 51#include "mem/physical.hh" 52#include "sim/full_system.hh" 53 54using namespace std; --- 10 unchanged lines hidden (view full) --- 65 _resetAddr64(p->auto_reset_addr_64 ? 66 (kernelEntry & loadAddrMask) + loadAddrOffset : 67 p->reset_addr_64), 68 _physAddrRange64(p->phys_addr_range_64), 69 _haveLargeAsid64(p->have_large_asid_64), 70 _m5opRange(p->m5ops_base ? 71 RangeSize(p->m5ops_base, 0x10000) : 72 AddrRange(1, 0)), // Create an empty range if disabled | 48#include "base/loader/object_file.hh" 49#include "base/loader/symtab.hh" 50#include "cpu/thread_context.hh" 51#include "mem/fs_translating_port_proxy.hh" 52#include "mem/physical.hh" 53#include "sim/full_system.hh" 54 55using namespace std; --- 10 unchanged lines hidden (view full) --- 66 _resetAddr64(p->auto_reset_addr_64 ? 67 (kernelEntry & loadAddrMask) + loadAddrOffset : 68 p->reset_addr_64), 69 _physAddrRange64(p->phys_addr_range_64), 70 _haveLargeAsid64(p->have_large_asid_64), 71 _m5opRange(p->m5ops_base ? 72 RangeSize(p->m5ops_base, 0x10000) : 73 AddrRange(1, 0)), // Create an empty range if disabled |
74 semihosting(p->semihosting), |
|
73 multiProc(p->multi_proc) 74{ 75 // Check if the physical address range is valid 76 if (_highestELIs64 && ( 77 _physAddrRange64 < 32 || 78 _physAddrRange64 > 48 || 79 (_physAddrRange64 % 4 != 0 && _physAddrRange64 != 42))) { 80 fatal("Invalid physical address range (%d)\n", _physAddrRange64); --- 182 unchanged lines hidden (view full) --- 263} 264 265bool 266ArmSystem::haveLargeAsid64(ThreadContext *tc) 267{ 268 return getArmSystem(tc)->haveLargeAsid64(); 269} 270 | 75 multiProc(p->multi_proc) 76{ 77 // Check if the physical address range is valid 78 if (_highestELIs64 && ( 79 _physAddrRange64 < 32 || 80 _physAddrRange64 > 48 || 81 (_physAddrRange64 % 4 != 0 && _physAddrRange64 != 42))) { 82 fatal("Invalid physical address range (%d)\n", _physAddrRange64); --- 182 unchanged lines hidden (view full) --- 265} 266 267bool 268ArmSystem::haveLargeAsid64(ThreadContext *tc) 269{ 270 return getArmSystem(tc)->haveLargeAsid64(); 271} 272 |
273bool 274ArmSystem::haveSemihosting(ThreadContext *tc) 275{ 276 return getArmSystem(tc)->haveSemihosting(); 277} 278 279uint64_t 280ArmSystem::callSemihosting64(ThreadContext *tc, 281 uint32_t op, uint64_t param) 282{ 283 ArmSystem *sys = getArmSystem(tc); 284 return sys->semihosting->call64(tc, op, param); 285} 286 287uint32_t 288ArmSystem::callSemihosting32(ThreadContext *tc, 289 uint32_t op, uint32_t param) 290{ 291 ArmSystem *sys = getArmSystem(tc); 292 return sys->semihosting->call32(tc, op, param); 293} 294 |
|
271ArmSystem * 272ArmSystemParams::create() 273{ 274 return new ArmSystem(this); 275} 276 277void 278GenericArmSystem::initState() --- 14 unchanged lines hidden --- | 295ArmSystem * 296ArmSystemParams::create() 297{ 298 return new ArmSystem(this); 299} 300 301void 302GenericArmSystem::initState() --- 14 unchanged lines hidden --- |