Re: [PATCH 1/4] amd-vi: fix IVMD memory type checks
On Thursday, February 1st, 2024 at 18:01, Roger Pau Monne wrote: > The current code that parses the IVMD blocks is relaxed with regard to the > restriction that such unity regions should always fall into memory ranges > marked as reserved in the memory map. > > However the type checks for the IVMD addresses are inverted, and as a result > IVMD ranges falling into RAM areas are accepted. Note that having such ranges > in the first place is a firmware bug, as IVMD should always fall into reserved > ranges. > > Fixes: ed6c77ebf0c1 ('AMD/IOMMU: check / convert IVMD ranges for being / to > be reserved') > Signed-off-by: Roger Pau Monné roger@citrix.com > > --- > Cc: o...@proton.me > --- > xen/drivers/passthrough/amd/iommu_acpi.c | 11 --- > 1 file changed, 8 insertions(+), 3 deletions(-) > > diff --git a/xen/drivers/passthrough/amd/iommu_acpi.c > b/xen/drivers/passthrough/amd/iommu_acpi.c > index 2e3b83014beb..ca70f4f3ae2c 100644 > --- a/xen/drivers/passthrough/amd/iommu_acpi.c > +++ b/xen/drivers/passthrough/amd/iommu_acpi.c > @@ -426,9 +426,14 @@ static int __init parse_ivmd_block(const struct > acpi_ivrs_memory ivmd_block) > return -EIO; > } > > - / Types which won't be handed out are considered good enough. / > - if ( !(type & (RAM_TYPE_RESERVED | RAM_TYPE_ACPI | > - RAM_TYPE_UNUSABLE)) ) > + / > + * Types which aren't RAM are considered good enough. > + * Note that a page being partially RESERVED, ACPI or UNUSABLE will > + * force Xen into assuming the whole page as having that type in > + * practice. > + */ > + if ( type & (RAM_TYPE_RESERVED | RAM_TYPE_ACPI | > + RAM_TYPE_UNUSABLE) ) > continue; > > AMD_IOMMU_ERROR("IVMD: page at %lx can't be converted\n", addr); I tested the patch and it resolves the issue. It eliminates the boot IVMD error message. AMD-Vi is enabled and pci passthrough works. Tested-by: oxjo
Re: Issue iommu unrecognized on amd computer
I put it on the linux command line indeed, here is the log with iommu=debug. I can install Xen with a debug build or test a fix if needed. I just need some guides because all I did for know is apt or dnf install Xen. Le jeudi 1 février 2024 à 11:57, Jan Beulich a écrit : > On 01.02.2024 09:16, o...@proton.me wrote: > > > Following our interaction on matrix, I send you the boot log `xl dmesg` > > output of my computer, booting with `iommu=debug` options on linux > > 6.6.13-200.fc39. > > > There's no "iommu=debug" anywhere in sight: > > (XEN) Command line: placeholder no-real-mode edd=off > > Did you mistakenly put it on the Linux command line? > > Nevertheless there are relevant messages already without the extra > verbosity (and without you using a debug build of Xen, which would > be preferable): > > (XEN) AMD-Vi: Warning: IVMD: [c9f1c000,c9f42000) is not (entirely) in > reserved memory > (XEN) AMD-Vi: Error: IVMD: page at c9f1c000 can't be converted > (XEN) AMD-Vi: Error initialization > > Quoting the respective entry from the memory map: > > (XEN) [c8f58000, c9f57fff] (ACPI NVS) > > Both Roger and I look to agree that this condition we have > > if ( !(type & (RAM_TYPE_RESERVED | RAM_TYPE_ACPI | > RAM_TYPE_UNUSABLE)) ) > > is inverted in some way. We merely need to agree in which way it > wants adjusting. > > Jan Xen 4.18.0 (XEN) Xen version 4.18.0 (mockbuild@) (gcc (GCC) 13.2.1 20231205 (Red Hat 13.2.1-6)) debug=n Wed Dec 13 17:50:42 UTC 2023 (XEN) Latest ChangeSet: (XEN) build-id: ea5d1960a8d06f31b000355f4662169fe12d09a6 (XEN) Bootloader: GRUB 2.06 (XEN) Command line: placeholder no-real-mode edd=off iommu=debug (XEN) Xen image load base address: 0xc1a0 (XEN) Video information: (XEN) VGA is graphics mode 1920x1080, 32 bpp (XEN) VBE/DDC methods: none; EDID transfer time: 0 seconds (XEN) Disc information: (XEN) Found 0 MBR signatures (XEN) Found 1 EDD information structures (XEN) CPU Vendor: AMD, Family 25 (0x19), Model 80 (0x50), Stepping 0 (raw 00a50f00) (XEN) Enabling Supervisor Shadow Stacks (XEN) - Disabling PV32 due to CET (XEN) EFI RAM map: (XEN) [, 0009efff] (usable) (XEN) [0009f000, 0009] (reserved) (XEN) [0010, 09bf] (usable) (XEN) [09c0, 09db0fff] (reserved) (XEN) [09db1000, 09ef] (usable) (XEN) [09f0, 09f0efff] (ACPI NVS) (XEN) [09f0f000, c2d57fff] (usable) (XEN) [c2d58000, c8f57fff] (reserved) (XEN) [c8f58000, c9f57fff] (ACPI NVS) (XEN) [c9f58000, c9fd7fff] (ACPI data) (XEN) [c9fd8000, c9fd9fff] (usable) (XEN) [c9fda000, c9ff] (reserved) (XEN) [ca00, cbff] (usable) (XEN) [cc00, cdff] (reserved) (XEN) [cf00, cfff] (reserved) (XEN) [f800, fbff] (reserved) (XEN) [fdc0, fdcf] (reserved) (XEN) [fed8, fed80fff] (reserved) (XEN) [0001, 000fee2f] (usable) (XEN) [000fee30, 00102fff] (reserved) (XEN) ACPI: RSDP C9FD7014, 0024 (r2 LENOVO) (XEN) ACPI: XSDT C9FD5188, 0104 (r1 LENOVO TP-R25 1130 PTEC2) (XEN) ACPI: FACP C3964000, 0114 (r6 LENOVO TP-R25 1130 PTEC2) (XEN) ACPI: DSDT C394C000, 12791 (r1 LENOVO TP-R25 1130 INTL 20180313) (XEN) ACPI: FACS C9DF8000, 0040 (XEN) ACPI: SSDT C5E74000, 00A2 (r1 LENOVO PID0Ssdt1 INTL 20180313) (XEN) ACPI: SSDT C5E73000, 0752 (r1 LENOVO UsbCTabl1 INTL 20180313) (XEN) ACPI: SSDT C5E66000, 7345 (r2 LENOVO TP-R25 2 MSFT 202) (XEN) ACPI: MSDM C5B7B000, 0055 (r3 LENOVO TP-R25 1130 PTEC2) (XEN) ACPI: BATB C5B66000, 004A (r2 LENOVO TP-R25 1130 PTEC2) (XEN) ACPI: HPET C3963000, 0038 (r1 LENOVO TP-R25 1130 PTEC2) (XEN) ACPI: APIC C3962000, 0138 (r2 LENOVO TP-R25 1130 PTEC2) (XEN) ACPI: MCFG C3961000, 003C (r1 LENOVO TP-R25 1130 PTEC2) (XEN) ACPI: SBST C396, 0030 (r1 LENOVO TP-R25 1130 PTEC2) (XEN) ACPI: WSMT C395F000, 0028 (r1 LENOVO TP-R25 1130 PTEC2) (XEN) ACPI: VFCT C393E000, D884 (r1 LENOVO TP-R25 1130 PTEC2) (XEN) ACPI: SSDT C3938000, 5354 (r2 LENOVO TP-R25 1 AMD 1) (XEN) ACPI: CRAT C3937000, 0EC0 (r1 LENOVO TP-R25 1130 PTEC2) (XEN) ACPI: CDIT C3936000, 0029 (r1 LENOVO TP-R25 1130 PTEC2) (XEN) ACPI: FPDT C5B67000, 0034 (r1 LENOVO TP-R25 1130 PTEC2) (XEN) ACPI: SSDT C3935000, 0149 (r1 LENOVO TP-R25 1 INTL 20180313) (XEN) ACPI: SSDT C3933000, 14C3 (r1 LENOVO TP-R25 1 INTL 20180313) (XEN) ACPI: SSDT C3931000, 15A8 (r1 LENOVO TP-R25 1 INTL 20180313) (XEN) ACPI: SSDT C392D000, 3B0E (r1 LENOVO TP-R25 1 INTL 20180313) (XEN) ACPI: BGRT C392C000,
Issue iommu unrecognized on amd computer
Hi, Following our interaction on matrix, I send you the boot log `xl dmesg` output of my computer, booting with `iommu=debug` options on linux 6.6.13-200.fc39. My issue is everything works on qubes on my thinkpad L15 gen 4 with AMD Ryzen 7 Pro 7730U, except iommu/amd-vi. I can boot and use a vm but no pci passthrough. I tried qubes 4.2, bare xen 17.2, xen 18 and I always have the same messages you can see in the logs with IVMD. I'd be grateful if you can tell me within a week if it's an issue you think can be dealt with or no so I can decide what I do with this computer. Best regards, Ox Xen 4.18.0 (XEN) Xen version 4.18.0 (mockbuild@) (gcc (GCC) 13.2.1 20231205 (Red Hat 13.2.1-6)) debug=n Wed Dec 13 17:50:42 UTC 2023 (XEN) Latest ChangeSet: (XEN) build-id: ea5d1960a8d06f31b000355f4662169fe12d09a6 (XEN) Bootloader: GRUB 2.06 (XEN) Command line: placeholder no-real-mode edd=off (XEN) Xen image load base address: 0xc1a0 (XEN) Video information: (XEN) VGA is graphics mode 1920x1080, 32 bpp (XEN) VBE/DDC methods: none; EDID transfer time: 0 seconds (XEN) Disc information: (XEN) Found 0 MBR signatures (XEN) Found 1 EDD information structures (XEN) CPU Vendor: AMD, Family 25 (0x19), Model 80 (0x50), Stepping 0 (raw 00a50f00) (XEN) Enabling Supervisor Shadow Stacks (XEN) - Disabling PV32 due to CET (XEN) EFI RAM map: (XEN) [, 0009efff] (usable) (XEN) [0009f000, 0009] (reserved) (XEN) [0010, 09bf] (usable) (XEN) [09c0, 09db0fff] (reserved) (XEN) [09db1000, 09ef] (usable) (XEN) [09f0, 09f0efff] (ACPI NVS) (XEN) [09f0f000, c2d57fff] (usable) (XEN) [c2d58000, c8f57fff] (reserved) (XEN) [c8f58000, c9f57fff] (ACPI NVS) (XEN) [c9f58000, c9fd7fff] (ACPI data) (XEN) [c9fd8000, c9fd9fff] (usable) (XEN) [c9fda000, c9ff] (reserved) (XEN) [ca00, cbff] (usable) (XEN) [cc00, cdff] (reserved) (XEN) [cf00, cfff] (reserved) (XEN) [f800, fbff] (reserved) (XEN) [fdc0, fdcf] (reserved) (XEN) [fed8, fed80fff] (reserved) (XEN) [0001, 000fee2f] (usable) (XEN) [000fee30, 00102fff] (reserved) (XEN) ACPI: RSDP C9FD7014, 0024 (r2 LENOVO) (XEN) ACPI: XSDT C9FD5188, 0104 (r1 LENOVO TP-R25 1130 PTEC2) (XEN) ACPI: FACP C3964000, 0114 (r6 LENOVO TP-R25 1130 PTEC2) (XEN) ACPI: DSDT C394C000, 12791 (r1 LENOVO TP-R25 1130 INTL 20180313) (XEN) ACPI: FACS C9DF8000, 0040 (XEN) ACPI: SSDT C5E74000, 00A2 (r1 LENOVO PID0Ssdt1 INTL 20180313) (XEN) ACPI: SSDT C5E73000, 0752 (r1 LENOVO UsbCTabl1 INTL 20180313) (XEN) ACPI: SSDT C5E66000, 7345 (r2 LENOVO TP-R25 2 MSFT 202) (XEN) ACPI: MSDM C5B7B000, 0055 (r3 LENOVO TP-R25 1130 PTEC2) (XEN) ACPI: BATB C5B66000, 004A (r2 LENOVO TP-R25 1130 PTEC2) (XEN) ACPI: HPET C3963000, 0038 (r1 LENOVO TP-R25 1130 PTEC2) (XEN) ACPI: APIC C3962000, 0138 (r2 LENOVO TP-R25 1130 PTEC2) (XEN) ACPI: MCFG C3961000, 003C (r1 LENOVO TP-R25 1130 PTEC2) (XEN) ACPI: SBST C396, 0030 (r1 LENOVO TP-R25 1130 PTEC2) (XEN) ACPI: WSMT C395F000, 0028 (r1 LENOVO TP-R25 1130 PTEC2) (XEN) ACPI: VFCT C393E000, D884 (r1 LENOVO TP-R25 1130 PTEC2) (XEN) ACPI: SSDT C3938000, 5354 (r2 LENOVO TP-R25 1 AMD 1) (XEN) ACPI: CRAT C3937000, 0EC0 (r1 LENOVO TP-R25 1130 PTEC2) (XEN) ACPI: CDIT C3936000, 0029 (r1 LENOVO TP-R25 1130 PTEC2) (XEN) ACPI: FPDT C5B67000, 0034 (r1 LENOVO TP-R25 1130 PTEC2) (XEN) ACPI: SSDT C3935000, 0149 (r1 LENOVO TP-R25 1 INTL 20180313) (XEN) ACPI: SSDT C3933000, 14C3 (r1 LENOVO TP-R25 1 INTL 20180313) (XEN) ACPI: SSDT C3931000, 15A8 (r1 LENOVO TP-R25 1 INTL 20180313) (XEN) ACPI: SSDT C392D000, 3B0E (r1 LENOVO TP-R25 1 INTL 20180313) (XEN) ACPI: BGRT C392C000, 0038 (r1 LENOVO TP-R25 1130 PTEC2) (XEN) ACPI: SSDT C392B000, 024D (r1 LENOVO TP-R25 1 INTL 20180313) (XEN) ACPI: SSDT C3929000, 14C4 (r1 LENOVO TP-R25 1 INTL 20180313) (XEN) ACPI: SSDT C3928000, 0AB7 (r1 LENOVO TP-R25 1 INTL 20180313) (XEN) ACPI: UEFI C9DF7000, 00C6 (r1 LENOVO TP-R25 1130 PTEC2) (XEN) ACPI: IVRS C3927000, 01E4 (r2 LENOVO TP-R25 1130 PTEC2) (XEN) ACPI: SSDT C5E72000, 0090 (r1 LENOVO TP-R25 1 INTL 20180313) (XEN) ACPI: SSDT C5E71000, 098D (r1 LENOVO TP-R25 1 INTL 20180313) (XEN) System RAM: 64302MB (65845476kB) (XEN) No NUMA configuration found (XEN) Faking a node at -000fee30 (XEN) Domain heap initialised (XEN) vesafb: framebuffer at