qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: PCI Hotplug ACPI device names only 3 characters long


From: Marcello Sylverster Bauer
Subject: Re: PCI Hotplug ACPI device names only 3 characters long
Date: Tue, 5 Sep 2023 17:21:46 +0200

Hi Philippe,

On 9/5/23 17:09, Philippe Mathieu-Daudé wrote:
Hi Marcello,

On 5/9/23 17:05, Marcello Sylverster Bauer wrote:
Greetings,

I'm currently working on a project to support Intel IPU6 in QEMU via VFIO so that the guest system can access the camera. This requires extending the ACPI device definition so that the guest knows how to access the camera.

However, I cannot extend the PCI devices because their names are not 4 characters long and therefore do not follow the ACPI specification.

When I use '-acpitable' to include my own SSDT for the IPU6 PCI device, it does not allow me to declare the device as an External Object because it automatically adds padding underscores.

e.g.
Before:
```
External(_SB.PCI0.S18.SA0, DeviceObj)
```
After:
```
External(_SB.PCI0.S18_.SA0_, DeviceObj)
```

What do you mean by "before" / "after"?

Before is what is written in my SSDT ASL source file that is provided to QEMU via the "-acpitable" flag. After is what is actually written to the SSDT inside the VM.

If you compile and decompile the source file with iasl, you will get the same result.


Adding the underscore padding is hard coded in iASL and also in QEMU when parsing an ASL file. (see: build_append_nameseg())

So here are my questions:
1. Is there a solution to extend the ACPI PCI device using '-acpitable' without having to patch iASL or QEMU? 2. Are there any plans to change the names to comply with the ACPI spec? (e.g. use "S%.03X" format string instead)

Thanks
Marcello





reply via email to

[Prev in Thread] Current Thread [Next in Thread]