Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ test = false
[workspace]
members = [
"kernel",
"parallels-loader",
"xtask"
]

Expand Down
36 changes: 36 additions & 0 deletions docs/parallels-hwdump/cpuinfo.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
processor : 0
BogoMIPS : 48.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 asimddp sha512 asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp flagm2 frint
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0x000
CPU revision : 0

processor : 1
BogoMIPS : 48.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 asimddp sha512 asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp flagm2 frint
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0x000
CPU revision : 0

processor : 2
BogoMIPS : 48.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 asimddp sha512 asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp flagm2 frint
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0x000
CPU revision : 0

processor : 3
BogoMIPS : 48.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 asimddp sha512 asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp flagm2 frint
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0x000
CPU revision : 0

Binary file added docs/parallels-hwdump/guest.dtb
Binary file not shown.
15 changes: 15 additions & 0 deletions docs/parallels-hwdump/guest.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
/dts-v1/;

/ {
#size-cells = <0x02>;
#address-cells = <0x02>;

chosen {
linux,uefi-mmap-desc-ver = <0x01>;
linux,uefi-mmap-desc-size = <0x30>;
linux,uefi-mmap-size = <0x7b0>;
linux,uefi-mmap-start = <0x00 0xb884e9c0>;
linux,uefi-system-table = <0x00 0xbf920018>;
bootargs = "BOOT_IMAGE=/boot/vmlinuz-lts modules=loop,squashfs,sd-mod,usb-storage quiet";
};
};
26 changes: 26 additions & 0 deletions docs/parallels-hwdump/interrupts.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
CPU0 CPU1 CPU2 CPU3
10: 42455 18750 20295 13682 GICv3 27 Level arch_timer
12: 1 0 0 0 GICv3 48 Edge ACPI:Ged
14: 0 0 0 0 GICv3 38 Edge virtio0
15: 1900 0 0 0 GICv3 34 Level ahci[PRL4010:00]
16: 0 0 0 0 GICv3 32 Level uart-pl011
17: 0 0 0 0 GICv3 23 Level arm-pmu
19: 498 0 0 0 GICv2m-PCI-MSI-0000:00:03.0 0 Edge xhci_hcd
23: 0 0 0 0 GICv3 35 Level ehci_hcd:usb3
24: 0 0 0 0 GICv2m-PCI-MSIX-0000:00:05.0 0 Edge virtio1-config
25: 175 0 0 0 GICv2m-PCI-MSIX-0000:00:05.0 1 Edge virtio1-input.0
26: 321 0 0 0 GICv2m-PCI-MSIX-0000:00:05.0 2 Edge virtio1-output.0
27: 1 0 0 0 GICv2m-PCI-MSIX-0000:00:0a.0 0 Edge virtio2-config
28: 21392 0 0 0 GICv2m-PCI-MSIX-0000:00:0a.0 1 Edge virtio2-virtqueues
30: 164 0 0 0 GICv2m-PCI-MSI-0000:00:01.0 0 Edge snd_hda_intel:card0
31: 0 0 0 0 GICv2m-PCI-MSIX-0000:00:0e.0 0 Edge virtio3-config
32: 0 0 0 0 GICv2m-PCI-MSIX-0000:00:0e.0 1 Edge virtio3-virtqueues
IPI0: 465 474 505 459 Rescheduling interrupts
IPI1: 7387 6412 5950 3696 Function call interrupts
IPI2: 0 0 0 0 CPU stop interrupts
IPI3: 0 0 0 0 CPU stop NMIs
IPI4: 0 0 0 0 Timer broadcast interrupts
IPI5: 0 0 0 0 IRQ work interrupts
IPI6: 0 0 0 0 CPU backtrace interrupts
IPI7: 0 0 0 0 KGDB roundup interrupts
Err: 0
57 changes: 57 additions & 0 deletions docs/parallels-hwdump/iomem.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
02010000-0201ffff : GICD
02110000-02110fff : ARMH0011:00
02110000-02110fff : ARMH0011:00 ARMH0011:00
02140000-02141fff : PRL4010:00
02140000-02141fff : PRL4010:00 PRL4010:00
021a0000-021a3fff : PRL4006:00
021a0000-021a3fff : PRL4006:00 PRL4006:00
02300000-023fffff : PCI ECAM
02500000-0257ffff : GICR
10000000-1fffffff : PCI Bus 0000:00
10000000-13ffffff : 0000:00:0a.0
14000000-14003fff : 0000:00:01.0
14000000-14003fff : ICH HD audio
14004000-14007fff : 0000:00:0a.0
14004000-14007fff : virtio-pci-modern
14008000-1400bfff : 0000:00:0e.0
14008000-1400bfff : virtio-pci-modern
1400c000-1400cfff : 0000:00:03.0
1400c000-1400cfff : xhci-hcd
1400d000-1400dfff : 0000:00:05.0
1400d000-1400dfff : virtio-pci-legacy
1400e000-1400efff : 0000:00:05.0
1400f000-1400ffff : 0000:00:09.0
14010000-14010fff : 0000:00:0a.0
14011000-14011fff : 0000:00:0e.0
14012000-140123ff : 0000:00:02.0
14012000-140123ff : ehci_hcd
40000000-bbe0ffff : System RAM
40010000-4154ffff : Kernel code
41550000-4188ffff : reserved
41890000-41edffff : Kernel data
b7680000-b7680fff : reserved
b7880000-b8838fff : reserved
b8840000-b884ffff : reserved
bac00000-bbbfffff : reserved
bbc68000-bbc68fff : reserved
bbe10000-bbeaffff : reserved
bbeb0000-bbf0ffff : System RAM
bbeb0000-bbf0ffff : reserved
bbf10000-bbf1ffff : reserved
bbf20000-bbf2ffff : System RAM
bbf20000-bbf2ffff : reserved
bbf30000-bbffffff : reserved
bc000000-bc01ffff : System RAM
bc020000-bc05ffff : reserved
bc060000-bf54ffff : System RAM
bc060000-bc07ffff : reserved
bc600000-be5fffff : reserved
be6c4000-be6c4fff : reserved
bf007000-bf54ffff : reserved
bf550000-bf92ffff : reserved
bf930000-bfffffff : System RAM
bf950000-bf955fff : reserved
bf956000-bf956fff : reserved
bf957000-bf9defff : reserved
bf9e1000-bf9e3fff : reserved
bf9e4000-bfffffff : reserved
7 changes: 7 additions & 0 deletions docs/parallels-hwdump/lspci-ids.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
00:01.0 Audio device [0403]: Intel Corporation 82801I (ICH9 Family) HD Audio Controller [8086:293e]
00:02.0 USB controller [0c03]: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller [8086:265c] (rev 02)
00:03.0 USB controller [0c03]: NEC Corporation uPD720200 USB 3.0 Host Controller [1033:0194] (rev 04)
00:05.0 Ethernet controller [0200]: Red Hat, Inc. Virtio network device [1af4:1000]
00:09.0 Unassigned class [ff00]: Parallels, Inc. Virtual Machine Communication Interface [1ab8:4000]
00:0a.0 VGA compatible controller [0300]: Red Hat, Inc. Virtio 1.0 GPU [1af4:1050] (rev 01)
00:0e.0 Communication controller [0780]: Red Hat, Inc. Virtio 1.0 socket [1af4:1053] (rev 01)
153 changes: 153 additions & 0 deletions docs/parallels-hwdump/lspci-verbose.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,153 @@
00:01.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller
Subsystem: Parallels, Inc. Device 0400
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin A routed to IRQ 30
Region 0: Memory at 14000000 (32-bit, non-prefetchable) [size=16K]
Capabilities: [78] Express (v2) Endpoint, IntMsgNum 0
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s unlimited, L1 unlimited
ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset- SlotPowerLimit 0W TEE-IO-
DevCtl: CorrErr- NonFatalErr- FatalErr- UnsupReq-
RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop-
MaxPayload 128 bytes, MaxReadReq 512 bytes
DevSta: CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr- TransPend-
LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM not supported
ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp-
LnkCtl: ASPM Disabled; RCB 64 bytes, LnkDisable- CommClk-
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x1
TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
DevCap2: Completion Timeout: Not Supported, TimeoutDis- NROPrPrP- LTR-
10BitTagComp- 10BitTagReq- OBFF Not Supported, ExtFmt- EETLPPrefix-
EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
FRS- TPHComp- ExtTPHComp-
AtomicOpsCap: 32bit- 64bit- 128bitCAS-
DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-
AtomicOpsCtl: ReqEn-
IDOReq- IDOCompl- LTR- EmergencyPowerReductionReq-
10BitTagReq- OBFF Disabled, EETLPPrefixBlk-
LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete- EqualizationPhase1-
EqualizationPhase2- EqualizationPhase3- LinkEqualizationRequest-
Retimer- 2Retimers- CrosslinkRes: unsupported
Capabilities: [60] MSI: Enable+ Count=1/1 Maskable+ 64bit-
Address: 02250040 Data: 003b
Masking: 00000000 Pending: 00000000
Kernel driver in use: snd_hda_intel

00:02.0 USB controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (rev 02) (prog-if 20 [EHCI])
Subsystem: Parallels, Inc. Device 0400
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin A routed to IRQ 23
Region 0: Memory at 14012000 (32-bit, non-prefetchable) [size=1K]
Kernel driver in use: ehci-pci

00:03.0 USB controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 04) (prog-if 30 [XHCI])
Subsystem: Parallels, Inc. Device 0400
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin A routed to IRQ 19
Region 0: Memory at 1400c000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [e0] MSI: Enable+ Count=1/1 Maskable+ 64bit-
Address: 02250040 Data: 0035
Masking: 00000000 Pending: 00000000
Kernel driver in use: xhci_hcd

00:05.0 Ethernet controller: Red Hat, Inc. Virtio network device
Subsystem: Parallels, Inc. Device 0001
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin A routed to IRQ 20
Region 0: Memory at 1400d000 (32-bit, non-prefetchable) [size=4K]
Region 1: Memory at 1400e000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [48] Express (v2) Endpoint, IntMsgNum 0
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s unlimited, L1 unlimited
ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset- SlotPowerLimit 0W TEE-IO-
DevCtl: CorrErr- NonFatalErr- FatalErr- UnsupReq-
RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop-
MaxPayload 128 bytes, MaxReadReq 512 bytes
DevSta: CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr- TransPend-
LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM not supported
ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp-
LnkCtl: ASPM Disabled; RCB 64 bytes, LnkDisable- CommClk-
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x1
TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
DevCap2: Completion Timeout: Not Supported, TimeoutDis- NROPrPrP- LTR-
10BitTagComp- 10BitTagReq- OBFF Not Supported, ExtFmt- EETLPPrefix-
EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
FRS- TPHComp- ExtTPHComp-
AtomicOpsCap: 32bit- 64bit- 128bitCAS-
DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-
AtomicOpsCtl: ReqEn-
IDOReq- IDOCompl- LTR- EmergencyPowerReductionReq-
10BitTagReq- OBFF Disabled, EETLPPrefixBlk-
LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete- EqualizationPhase1-
EqualizationPhase2- EqualizationPhase3- LinkEqualizationRequest-
Retimer- 2Retimers- CrosslinkRes: unsupported
Capabilities: [40] Power Management version 2
Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [f4] MSI-X: Enable+ Count=3 Masked-
Vector table: BAR=1 offset=00000000
PBA: BAR=1 offset=00000800
Capabilities: [100 v1] Device Serial Number 00-1c-42-ff-ff-74-ae-29
Kernel driver in use: virtio-pci

00:09.0 Unassigned class [ff00]: Parallels, Inc. Virtual Machine Communication Interface
Subsystem: Parallels, Inc. Device 0400
Control: I/O- Mem- BusMaster- SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Interrupt: pin A routed to IRQ 255
Region 0: Memory at 1400f000 (32-bit, non-prefetchable) [disabled] [size=4K]
Capabilities: [40] MSI: Enable- Count=1/4 Maskable+ 64bit+
Address: 0000000000000000 Data: 0000
Masking: 00000000 Pending: 00000000

00:0a.0 VGA compatible controller: Red Hat, Inc. Virtio 1.0 GPU (rev 01) (prog-if 00 [VGA controller])
Subsystem: Parallels, Inc. Device 0010
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin A routed to IRQ 21
Region 0: Memory at 10000000 (32-bit, prefetchable) [size=64M]
Region 1: Memory at 14010000 (32-bit, non-prefetchable) [size=4K]
Region 4: Memory at 14004000 (32-bit, non-prefetchable) [size=16K]
Capabilities: [b0] MSI-X: Enable+ Count=2 Masked-
Vector table: BAR=1 offset=00000000
PBA: BAR=1 offset=00000800
Capabilities: [bc] Vendor Specific Information: VirtIO: DeviceCfg
BAR=4 offset=00003000 size=00001000
Capabilities: [cc] Vendor Specific Information: VirtIO: ISR
BAR=4 offset=00002000 size=00001000
Capabilities: [dc] Vendor Specific Information: VirtIO: Notify
BAR=4 offset=00001000 size=00001000 multiplier=00000000
Capabilities: [f0] Vendor Specific Information: VirtIO: CommonCfg
BAR=4 offset=00000000 size=00001000
Kernel driver in use: virtio-pci

00:0e.0 Communication controller: Red Hat, Inc. Virtio 1.0 socket (rev 01)
Subsystem: Parallels, Inc. Device 0013
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin A routed to IRQ 22
Region 1: Memory at 14011000 (32-bit, non-prefetchable) [size=4K]
Region 4: Memory at 14008000 (32-bit, non-prefetchable) [size=16K]
Capabilities: [b0] MSI-X: Enable+ Count=2 Masked-
Vector table: BAR=1 offset=00000000
PBA: BAR=1 offset=00000800
Capabilities: [bc] Vendor Specific Information: VirtIO: DeviceCfg
BAR=4 offset=00003000 size=00001000
Capabilities: [cc] Vendor Specific Information: VirtIO: ISR
BAR=4 offset=00002000 size=00001000
Capabilities: [dc] Vendor Specific Information: VirtIO: Notify
BAR=4 offset=00001000 size=00001000 multiplier=00000000
Capabilities: [f0] Vendor Specific Information: VirtIO: CommonCfg
BAR=4 offset=00000000 size=00001000
Kernel driver in use: virtio-pci

Loading
Loading