ArmSystem.py (12153:dc6e9f6dfd9c) ArmSystem.py (12272:bcc67ee98e6d)
1# Copyright (c) 2009, 2012-2013, 2015 ARM Limited
1# Copyright (c) 2009, 2012-2013, 2015-2017 ARM Limited
2# All rights reserved.
3#
4# The license below extends only to copyright in the software and shall
5# not be construed as granting a license to any other intellectual
6# property including but not limited to intellectual property relating
7# to a hardware implementation of the functionality of the software
8# licensed hereunder. You may use the software subject to the license
9# terms below provided that you ensure that this notice is replicated

--- 37 unchanged lines hidden (view full) ---

47 'VExpress_EMM' : 2272,
48 'VExpress_EMM64' : 2272,
49 'DTOnly' : -1,
50 }
51
52class ArmSystem(System):
53 type = 'ArmSystem'
54 cxx_header = "arch/arm/system.hh"
2# All rights reserved.
3#
4# The license below extends only to copyright in the software and shall
5# not be construed as granting a license to any other intellectual
6# property including but not limited to intellectual property relating
7# to a hardware implementation of the functionality of the software
8# licensed hereunder. You may use the software subject to the license
9# terms below provided that you ensure that this notice is replicated

--- 37 unchanged lines hidden (view full) ---

47 'VExpress_EMM' : 2272,
48 'VExpress_EMM64' : 2272,
49 'DTOnly' : -1,
50 }
51
52class ArmSystem(System):
53 type = 'ArmSystem'
54 cxx_header = "arch/arm/system.hh"
55 load_addr_mask = 0xffffffff
56 multi_proc = Param.Bool(True, "Multiprocessor system?")
57 boot_loader = VectorParam.String([],
58 "File that contains the boot loader code. Zero or more files may be "
59 "specified. The first boot loader that matches the kernel's "
60 "architecture will be used.")
61 gic_cpu_addr = Param.Addr(0, "Addres of the GIC CPU interface")
62 flags_addr = Param.Addr(0, "Address of the flags register for MP booting")
63 have_security = Param.Bool(False,

--- 14 unchanged lines hidden (view full) ---

78
79 m5ops_base = Param.Addr(0,
80 "Base of the 64KiB PA range used for memory-mapped m5ops. Set to 0 "
81 "to disable.")
82
83class GenericArmSystem(ArmSystem):
84 type = 'GenericArmSystem'
85 cxx_header = "arch/arm/system.hh"
55 multi_proc = Param.Bool(True, "Multiprocessor system?")
56 boot_loader = VectorParam.String([],
57 "File that contains the boot loader code. Zero or more files may be "
58 "specified. The first boot loader that matches the kernel's "
59 "architecture will be used.")
60 gic_cpu_addr = Param.Addr(0, "Addres of the GIC CPU interface")
61 flags_addr = Param.Addr(0, "Address of the flags register for MP booting")
62 have_security = Param.Bool(False,

--- 14 unchanged lines hidden (view full) ---

77
78 m5ops_base = Param.Addr(0,
79 "Base of the 64KiB PA range used for memory-mapped m5ops. Set to 0 "
80 "to disable.")
81
82class GenericArmSystem(ArmSystem):
83 type = 'GenericArmSystem'
84 cxx_header = "arch/arm/system.hh"
86 load_addr_mask = 0x0fffffff
87 machine_type = Param.ArmMachineType('DTOnly',
88 "Machine id from http://www.arm.linux.org.uk/developer/machines/")
89 atags_addr = Param.Addr("Address where default atags structure should " \
90 "be written")
91 dtb_filename = Param.String("",
92 "File that contains the Device Tree Blob. Don't use DTB if empty.")
93 early_kernel_symbols = Param.Bool(False,
94 "enable early kernel symbol tables before MMU")

--- 8 unchanged lines hidden (view full) ---

103 type = 'LinuxArmSystem'
104 cxx_header = "arch/arm/linux/system.hh"
105
106 @cxxMethod
107 def dumpDmesg(self):
108 """Dump dmesg from the simulated kernel to standard out"""
109 pass
110
85 machine_type = Param.ArmMachineType('DTOnly',
86 "Machine id from http://www.arm.linux.org.uk/developer/machines/")
87 atags_addr = Param.Addr("Address where default atags structure should " \
88 "be written")
89 dtb_filename = Param.String("",
90 "File that contains the Device Tree Blob. Don't use DTB if empty.")
91 early_kernel_symbols = Param.Bool(False,
92 "enable early kernel symbol tables before MMU")

--- 8 unchanged lines hidden (view full) ---

101 type = 'LinuxArmSystem'
102 cxx_header = "arch/arm/linux/system.hh"
103
104 @cxxMethod
105 def dumpDmesg(self):
106 """Dump dmesg from the simulated kernel to standard out"""
107 pass
108
109 # Have Linux systems for ARM auto-calc their load_addr_mask for proper
110 # kernel relocation.
111 load_addr_mask = 0x0
112
111class FreebsdArmSystem(GenericArmSystem):
112 type = 'FreebsdArmSystem'
113 cxx_header = "arch/arm/freebsd/system.hh"
113class FreebsdArmSystem(GenericArmSystem):
114 type = 'FreebsdArmSystem'
115 cxx_header = "arch/arm/freebsd/system.hh"