95 lines
2.8 KiB
Plaintext
95 lines
2.8 KiB
Plaintext
; --------------------------------------------------------------------------------
|
|
; @Title: VLX Demo for TRACE32 Hypervisor Awareness
|
|
; @Description:
|
|
;
|
|
; This batchfile attaches to a running VLX system.
|
|
; It serves as an example and needs to be adapted.
|
|
;
|
|
; @Keywords: Awareness, Hypervisor, VLX
|
|
; @Author: DIE
|
|
; @Copyright: (C) 1989-2022 Lauterbach GmbH, licensed for use with TRACE32(R) only
|
|
; --------------------------------------------------------------------------------
|
|
; $Id: vlx.cmm 18850 2022-01-26 18:41:29Z bschroefel $
|
|
|
|
|
|
; Reset debugger
|
|
RESet
|
|
|
|
; Configure debugger
|
|
SYStem.CPU EXYNOS8890
|
|
CORE.ASSIGN 2. 4. 6. 8. 1. 3. 5. 7.
|
|
SYStem.JtagClock 10.MHz
|
|
|
|
; enable machine ids and space ids
|
|
SYStem.Option MACHINESPACES ON
|
|
SYStem.Option MMUSPACES ON
|
|
|
|
; allow access to higher level SPRs
|
|
SYStem.Option DBGSPR ON
|
|
|
|
; Attach to running target and halt it
|
|
SYStem.Attach
|
|
if STATE.RUN()
|
|
BREAK
|
|
|
|
|
|
; --------------------------------------------------------------------------------
|
|
; Hypervisor setup
|
|
|
|
; Load symbol file of hypervisor to machine id 0
|
|
Data.LOAD.Elf hypervisor H:0:::0::0 /nocode
|
|
|
|
; Declare MMU format for hypervisor
|
|
MMU.FORMAT STD /Machine 0
|
|
TRANSlation.Create H:0:::0--0xffffffff 0x0
|
|
TRANSlation.COMMON H:0:::0--0xffffffff
|
|
TRANSlation.TableWalk ON
|
|
TRANSlation.ON
|
|
|
|
; Load VLX hypervisor awareness
|
|
EXTension.LOAD ~~/demo/arm/kernel/vlx/vlx.t32 /MACHINE 0
|
|
EXTension.ACCESS H: vlx
|
|
|
|
|
|
; --------------------------------------------------------------------------------
|
|
; Guest setup for VM2
|
|
|
|
; Load symbols of VM2
|
|
Data.LOAD.Elf vmlinux-vm2 N:2:::0 /nocode /noclear /NAME vm2
|
|
|
|
; Declare MMU format of VM2
|
|
MMU.FORMAT LINUXSWAP3 \\vm2\\swapper_pg_dir /MACHINE 2
|
|
|
|
; Check MMU.List PageTable symbol.secaddress(\\vm2\.head.text) /machine 2
|
|
TRANSlation.Create N:2:::0xFFFFFFC000080000--0xFFFFFFC07FFFFFFF I:2:::0x80080000
|
|
TRANSlation.Create N:2:::0xFFFFFFC890000000--0xFFFFFFC8FFFFFFFF I:2:::0x910000000
|
|
TRANSlation.COMMON N:2:::0xFFFF000000000000--0xFFFFFFFFFFFFFFFF
|
|
|
|
; Load Linux awareness for VM2
|
|
EXTension.LOAD ~~/demo/arm/kernel/linux/linux-3.x/linux3.t32 /MACHINE 2 /NAME "VM2"
|
|
TASK.VM2.Option MMUCHECK OFF
|
|
|
|
|
|
; --------------------------------------------------------------------------------
|
|
; Guest setup for VM3
|
|
|
|
; Load symbols of VM3
|
|
Data.LOAD.Elf vmlinux-vm3 N:3:::0 /nocode /noclear /NAME vm3
|
|
|
|
; Declare MMU format of VM3
|
|
MMU.FORMAT LINUXSWAP3 \\vm3\\swapper_pg_dir /MACHINE 3
|
|
; Check MMU.List PageTable symbol.secaddress(\\vm3\.head.text) /machine 3
|
|
TRANSlation.Create N:3:::0xFFFFFFC000080000--0xFFFFFFC01FFFFFFF I:3:::0xA0080000
|
|
TRANSlation.Create N:3:::0xFFFFFFC7E0000000--0xFFFFFFC7FFFFFFFF I:3:::0x880000000
|
|
TRANSlation.COMMON N:3:::0xFFFF000000000000--0xFFFFFFFFFFFFFFFF
|
|
|
|
; Load Linux awareness for VM3
|
|
EXTension.LOAD ~~/demo/arm/kernel/linux/linux-3.x/linux3.t32 /MACHINE 3 /NAME "VM3"
|
|
TASK.VM3.Option MMUCHECK OFF
|
|
|
|
|
|
; Re-evaluate registers
|
|
Register.REFRESH
|
|
|
|
ENDDO
|