Specifications

Table Of Contents
ARM Debugger 121 ARM specific SYStem Commands
©1989-2014 Lauterbach GmbH
Example setup for a guest OS and a hypervisor:
In this example, the hypervisor is configured to run in zone H: and a Linux kernel with OS awareness as
current guest OS in zone N:
Any command related to task handling, such as TRANSlation.List.TaskPageTable <taskname>, will
automatically refer to tasks running in the zone where the OS awareness runs in.
SYStem.Option ZoneSPACES ON
; within the OS awareness we need SpaceID to separate address spaces of
; different processes / tasks
SYStem.Option MMUSPACES ON
; here we let the target system boot the hypervisor. The hypervisor will
; set up the guest and boot linux on the guest system.
...
; load the hypervisor symbols
Data.LOAD.Elf xen-syms H:0 /NOCODE
Data.LOAD.Elf usermode N:0 /NOCODE /NOCLEAR
; set up the linux OS awareness
TASK.CONFIG ~~/demo/arm/kernel/linux/linux-3.x/linux3
MENU.ReProgram ~~/demo/arm/kernel/linux/linux-3.x/linux
; instruct the OS awareness to access all OS related symbols with
; access class N:
TASK.ACCESS N:
; set up the debugger address translation for the guest OS
; Note that the default address translation in the following command
; defines a translation of the logical kernel addresses
; N:0xC0000000++0xFFFFFFF to intermediate physical address I:0x40000000
MMU.FORMAT linux swapper_pg_dir N:0xC0000000++0xFFFFFFF I:0x40000000
; define the common address range for the guest kernel symbols
TRANSlation.COMMON N:0xC0000000--0xFFFFFFFF
; enable the address translation and the table walk
TRANSlation.TableWalk ON
TRANSlation.ON
NOTE: If SYStem.Option MMUspaces ON is used, all addresses for all zones will show
a spaceID extension (such as N:0x024A:0x00320100), even if the OS
awareness runs only in one zone (as defined with command TASK.ACCESS).
TRACE32 will always show a spaceID of 0x0000 for any address belonging to
the other zones.