238 lines
5.5 KiB
Plaintext
238 lines
5.5 KiB
Plaintext
; --------------------------------------------------------------------------------
|
|
; @Title: Xen specific menu
|
|
; @Description: -
|
|
; @Keywords: xen menu awareness
|
|
; @Author: DIE AME
|
|
; @Copyright: (c) 1989-2021 Lauterbach GmbH, licensed for use with TRACE32(R) only
|
|
; --------------------------------------------------------------------------------
|
|
; $Id$
|
|
|
|
NAME "EXT.XEN"
|
|
IF !MENU.EXIST("EXT.XEN")
|
|
(
|
|
ADD
|
|
MENU
|
|
(
|
|
POPUP "Xen"
|
|
(
|
|
DEFAULT
|
|
MENUITEM "Display &Domains" "EXT.DOMain"
|
|
MENUITEM "Display &VCPUs" "EXT.VCPU"
|
|
MENUITEM "Display &CPUPools" "EXT.CPUPool"
|
|
IF CPUFAMILY()=="ARM"
|
|
(
|
|
POPUP "[:objects]&Display Device Tree"
|
|
(
|
|
MENUITEM "[:objects]Display Device Tree"
|
|
(
|
|
EXT.DTB
|
|
)
|
|
MENUITEM "[:objects]Display Source"
|
|
(
|
|
EXT.DTS
|
|
)
|
|
MENUITEM "[:dump]Extract Blob To File"
|
|
(
|
|
PRIVATE &sPath &sExtdir &sOptionMachine
|
|
&sExtdir=EXT.GETDIR()
|
|
IF PRACTICE.FUNCtion.AVAILable(SYStem.Option.MACHINESPACES)
|
|
(
|
|
IF SYStem.Option.MACHINESPACES()
|
|
(
|
|
&sOptionMachine=STRing.CUT("/MACHINE ",-1.)
|
|
)
|
|
)
|
|
&sPath=OS.FILE.JOINPATH("&sExtdir","extract_dtb.cmm")
|
|
IF OS.FILE("&sPath")
|
|
(
|
|
DO "&(sPath)" /DIALOG &sOptionMachine
|
|
ENDDO
|
|
)
|
|
&sPath=OS.FILE.JOINPATH("&sExtdir","..","extract_dtb.cmm")
|
|
IF OS.FILE("&sPath")
|
|
(
|
|
DO "&(sPath)" /DIALOG &sOptionMachine
|
|
ENDDO
|
|
)
|
|
PRINT %ERROR "File ""extract_dtb.cmm" not found. Please contact support@lauterbach.com ."
|
|
)
|
|
MENUITEM "[:list]Save Source To File"
|
|
(
|
|
DIALOG
|
|
(
|
|
HEADER "Save Device Tree Source"
|
|
POS 0. 0. 30. 3.
|
|
BOX "File name"
|
|
POS 1. 1. 20. 1.
|
|
dtsfile: DEFEDIT "devicetree.dts" ""
|
|
POS 22. 1. 7. 1.
|
|
POS 6. 3. 7. 1.
|
|
DEFBUTTON "Save"
|
|
(
|
|
PRIVATE &sDtsfile
|
|
&sDtsfile=DIALOG.STRING(dtsfile)
|
|
IF "&sDtsfile"!=""
|
|
(
|
|
PRinter.File "&sDtsfile"
|
|
IF STATE.RUN()
|
|
Break
|
|
EXT.MaxVSize 10000.
|
|
WinPrint.EXT.DTS
|
|
DIALOG.END
|
|
EXT.MaxVSize 2000.
|
|
ON ERROR CONTinue
|
|
PRinter.select WIN
|
|
ON ERROR inherit
|
|
)
|
|
)
|
|
POS 17. 3. 7. 1.
|
|
BUTTON "Cancel" "DIALOG.END"
|
|
)
|
|
)
|
|
)
|
|
)
|
|
MENUITEM "Display &Xen Log" "EXT.Log"
|
|
MENUITEM "Display &VCPUs Registers" "EXT.REG"
|
|
SEPARATOR
|
|
MENUITEM "Go to Guest..."
|
|
(
|
|
DIALOG
|
|
(
|
|
HEADER "Go to Guest"
|
|
POS 0. 0. 10. 3.
|
|
BOX "VMID"
|
|
POS 1. 1. 8. 1.
|
|
vmid: DEFEDIT "" ""
|
|
POS 13. 0.5 10. 1.
|
|
DEFBUTTON "Ok"
|
|
(
|
|
PRIVATE &vmid &sExtDir &sPath
|
|
&vmid=DIALOG.STRING(vmid)
|
|
DIALOG.END
|
|
&sExtDir=EXT.GETDIR()
|
|
&sPath=OS.FILE.JOINPATH("&sExtDir","go_guest")
|
|
DO "&sPath" &vmid
|
|
)
|
|
BUTTON "Cancel" "DIALOG.END"
|
|
)
|
|
)
|
|
SEPARATOR
|
|
POPUP "[:symbols]Symbol &Autoloader"
|
|
(
|
|
MENUITEM "[:symbols]List Components" "sYmbol.AutoLoad.List"
|
|
MENUITEM "[:init]Check Now!" "sYmbol.AutoLoad.CHECK"
|
|
MENUITEM "[:config]Config" "sYmbol.AutoLOAD.config"
|
|
)
|
|
SEPARATOR
|
|
MENUITEM "Display Task Tree" "TASK.List.TREE"
|
|
MENUITEM "Display Core Activity" "CORE.List"
|
|
)
|
|
//POPUP "&Help"
|
|
//(
|
|
// MENUITEM "[:manual]Hypervisor Awareness Manual Xen" "HELP __RTOS_rtos_"
|
|
//)
|
|
)
|
|
|
|
ADD
|
|
MENU "ext.dom"
|
|
(
|
|
DEFAULT
|
|
MENUITEM "Display detailed"
|
|
(
|
|
PRIVATE &nTrackAddress
|
|
&nTrackAddress=address.offset(track.address())
|
|
EXTension.DOMain &nTrackAddress
|
|
)
|
|
MENUITEM "Display domain struct"
|
|
(
|
|
PRIVATE &pTrackAddress
|
|
&pTrackAddress=track.address()
|
|
Var.View %Open (struct \\\0\\\\domain*)(&pTrackAddress)
|
|
)
|
|
MENUITEM "List intermediate page table"
|
|
(
|
|
PRIVATE &nTrackAddress &nVttbAddress
|
|
&nTrackAddress=address.offset(track.address())
|
|
&nVttbAddress=ext.vm.vttb(&nTrackAddress)
|
|
MMU.List IntermedPageTable 0x0 A:&nVttbAddress
|
|
)
|
|
MENUITEM "Dump domain entry"
|
|
(
|
|
PRIVATE &pTrackAddress
|
|
&pTrackAddress=track.address()
|
|
Data.dump &pTrackAddress /Long /DIALOG
|
|
)
|
|
)
|
|
|
|
ADD
|
|
MENU "ext.vcpu"
|
|
(
|
|
DEFAULT
|
|
MENUITEM "Display detailed"
|
|
(
|
|
PRIVATE &nTrackAddress
|
|
&nTrackAddress=address.offset(track.address())
|
|
EXTension.VCPU &nTrackAddress
|
|
)
|
|
MENUITEM "Display vcpu struct"
|
|
(
|
|
PRIVATE &pTrackAddress
|
|
&pTrackAddress=track.address()
|
|
Var.View %Open (struct \\\0\\\\vcpu*)(&pTrackAddress)
|
|
)
|
|
MENUITEM "Dump vcpu entry"
|
|
(
|
|
PRIVATE &pTrackAddress
|
|
&pTrackAddress=track.address()
|
|
Data.dump &pTrackAddress /Long /DIALOG
|
|
)
|
|
)
|
|
|
|
ADD
|
|
MENU "ext.cpup"
|
|
(
|
|
DEFAULT
|
|
MENUITEM "Display detailed"
|
|
(
|
|
PRIVATE &nTrackAddress
|
|
&nTrackAddress=address.offset(track.address())
|
|
EXTension.CPUPool &nTrackAddress
|
|
)
|
|
MENUITEM "Display cpupool struct"
|
|
(
|
|
PRIVATE &sType &pTrackAddress
|
|
&sType=EXT.TYPE("cpupool")
|
|
&pTrackAddress=TRACK.ADDRESS()
|
|
Var.View %Open (&(sType)*)(&pTrackAddress)
|
|
)
|
|
MENUITEM "Dump cpupool entry"
|
|
(
|
|
PRIVATE &pTrackAddress
|
|
&pTrackAddress=TRACK.ADDRESS()
|
|
Data.dump &pTrackAddress /Long /DIALOG
|
|
)
|
|
)
|
|
|
|
MENU "ext.dtb.phandle"
|
|
(
|
|
DEFAULT
|
|
MENUITEM "[:objects]Display as phandle"
|
|
(
|
|
PRIVATE &nAddress
|
|
&nAddress=ADDRESS.OFFSET(TRACK.ADDRESS())
|
|
TASK.DTB.PHANDLE &nAddress
|
|
)
|
|
)
|
|
|
|
MENU "ext.dtb.dump"
|
|
(
|
|
DEFAULT
|
|
MENUITEM "[:dump]Dump ENTRY"
|
|
(
|
|
PRIVATE &pAddress
|
|
&pAddress=TRACK.ADDRESS()
|
|
Data.dump &pAddress
|
|
)
|
|
)
|
|
)
|