; -------------------------------------------------------------------------------- ; @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