Load the hypervisor symbols twice, once with an address mask so that we can get symbols for where it's copied to in memory
Add the ability to use an address mask for symbol loading
Rather then silently failing on platform accesses panic
Move BadAddr/IsaFake no Device from Tsunami
Let the system kernel be none, but warn about it
configs/common/FSConfig.py:
We don't have a kernel for sparc yet
src/arch/sparc/system.cc:
Load the hypervisor symbols twice, once with an address mask so that we can get symbols for where it's copied to in memory
src/base/loader/aout_object.cc:
src/base/loader/aout_object.hh:
src/base/loader/ecoff_object.cc:
src/base/loader/ecoff_object.hh:
src/base/loader/elf_object.cc:
src/base/loader/elf_object.hh:
src/base/loader/object_file.hh:
src/base/loader/raw_object.cc:
src/base/loader/raw_object.hh:
Add the ability to use an address mask for symbol loading
src/dev/sparc/t1000.cc:
Rather then silently failing on platform accesses panic
src/dev/sparc/t1000.hh:
fix up a couple of platform comments
src/python/m5/objects/Bus.py:
src/python/m5/objects/Device.py:
src/python/m5/objects/T1000.py:
src/python/m5/objects/Tsunami.py:
Move BadAddr/IsaFake no Device from Tsunami
src/python/m5/objects/System.py:
Let kernel be none
src/sim/system.cc:
Let the system kernel be none, but warn about it
--HG--
extra : convert_revision : 92f6afef599a3d3c7c5026d03434102c41c7b5f4
This commit is contained in:
@@ -2,7 +2,7 @@ from m5 import build_env
|
||||
from m5.params import *
|
||||
from m5.proxy import *
|
||||
from MemObject import MemObject
|
||||
from Tsunami import BadAddr
|
||||
from Device import BadAddr
|
||||
|
||||
class Bus(MemObject):
|
||||
type = 'Bus'
|
||||
@@ -12,7 +12,7 @@ class Bus(MemObject):
|
||||
width = Param.Int(64, "bus width (bytes)")
|
||||
responder_set = Param.Bool(False, "Did the user specify a default responder.")
|
||||
if build_env['FULL_SYSTEM']:
|
||||
default = Port(Self.responder.pio, "Default port for requests that aren't handled by a device.")
|
||||
responder = BadAddr(pio_addr=0x0, pio_latency="1ps")
|
||||
default = Port(Self.responder.pio, "Default port for requests that aren't handled by a device.")
|
||||
else:
|
||||
default = Port("Default port for requests that aren't handled by a device.")
|
||||
|
||||
@@ -19,3 +19,14 @@ class DmaDevice(PioDevice):
|
||||
type = 'DmaDevice'
|
||||
abstract = True
|
||||
dma = Port(Self.pio.peerObj.port, "DMA port")
|
||||
|
||||
class IsaFake(BasicPioDevice):
|
||||
type = 'IsaFake'
|
||||
pio_size = Param.Addr(0x8, "Size of address range")
|
||||
ret_data = Param.UInt8(0xFF, "Default data to return")
|
||||
ret_bad_addr = Param.Bool(False, "Return pkt status bad address on access")
|
||||
|
||||
class BadAddr(IsaFake):
|
||||
ret_bad_addr = Param.Bool(True, "Return pkt status bad address on access")
|
||||
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ class System(SimObject):
|
||||
"boot processor frequency")
|
||||
init_param = Param.UInt64(0, "numerical value to pass into simulator")
|
||||
boot_osflags = Param.String("a", "boot flags to pass to the kernel")
|
||||
kernel = Param.String("file that contains the kernel code")
|
||||
kernel = Param.String("", "file that contains the kernel code")
|
||||
readfile = Param.String("", "file to read startup script from")
|
||||
symbolfile = Param.String("", "file to get the symbols from")
|
||||
|
||||
|
||||
@@ -1,19 +1,10 @@
|
||||
from m5.params import *
|
||||
from m5.proxy import *
|
||||
from Device import BasicPioDevice
|
||||
from Device import BasicPioDevice, IsaFake, BadAddr
|
||||
from Uart import Uart8250
|
||||
from Platform import Platform
|
||||
from SimConsole import SimConsole, ConsoleListener
|
||||
|
||||
class IsaFake(BasicPioDevice):
|
||||
type = 'IsaFake'
|
||||
pio_size = Param.Addr(0x8, "Size of address range")
|
||||
ret_data = Param.UInt8(0xFF, "Default data to return")
|
||||
ret_bad_addr = Param.Bool(False, "Return pkt status bad address on access")
|
||||
|
||||
class BadAddr(IsaFake):
|
||||
ret_bad_addr = Param.Bool(True, "Return pkt status bad address on access")
|
||||
|
||||
class T1000(Platform):
|
||||
type = 'T1000'
|
||||
system = Param.System(Parent.any, "system")
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
from m5.params import *
|
||||
from m5.proxy import *
|
||||
from Device import BasicPioDevice
|
||||
from Device import BasicPioDevice, IsaFake, BadAddr
|
||||
from Platform import Platform
|
||||
from AlphaConsole import AlphaConsole
|
||||
from Uart import Uart8250
|
||||
@@ -11,15 +11,6 @@ class TsunamiCChip(BasicPioDevice):
|
||||
type = 'TsunamiCChip'
|
||||
tsunami = Param.Tsunami(Parent.any, "Tsunami")
|
||||
|
||||
class IsaFake(BasicPioDevice):
|
||||
type = 'IsaFake'
|
||||
pio_size = Param.Addr(0x8, "Size of address range")
|
||||
ret_data = Param.UInt8(0xFF, "Default data to return")
|
||||
ret_bad_addr = Param.Bool(False, "Return pkt status bad address on access")
|
||||
|
||||
class BadAddr(IsaFake):
|
||||
ret_bad_addr = Param.Bool(True, "Return pkt status bad address on access")
|
||||
|
||||
class TsunamiIO(BasicPioDevice):
|
||||
type = 'TsunamiIO'
|
||||
time = Param.UInt64(1136073600,
|
||||
|
||||
Reference in New Issue
Block a user