Date
1 - 1 of 1
_CBA Method is not returning 64 bit
Hi Ard et. al,
I am trying to pass the base address of PCI Config space using _CBA method in PCI ACPI table.
as per https://elixir.bootlin.com/linux/latest/source/Documentation/PCI/acpi-info.rst#L181 this method is capable of returning 64-bit address.
what I am seeing is that https://github.com/acpica/acpica itself truncates the 64 bit number to 32 bit for this method.
e.g.:
in source Dsdt.asl :
Method (_CBA, 0, NotSerialized) {
Return (0x123456789abcdef0);
}
after compilation
iasl -d Dsdt.aml
in decompiled Dsdt.dsl
Method (_CBA, 0, NotSerialized) // _CBA: Configuration Base Address
{
Return (0x9ABCDEF0)
}
Is the method that I am using to return 64 bit address is incorrect ?
why this strange behavior ?
Regards,
Pankaj Bansal
I am trying to pass the base address of PCI Config space using _CBA method in PCI ACPI table.
as per https://elixir.bootlin.com/linux/latest/source/Documentation/PCI/acpi-info.rst#L181 this method is capable of returning 64-bit address.
what I am seeing is that https://github.com/acpica/acpica itself truncates the 64 bit number to 32 bit for this method.
e.g.:
in source Dsdt.asl :
Method (_CBA, 0, NotSerialized) {
Return (0x123456789abcdef0);
}
after compilation
iasl -d Dsdt.aml
in decompiled Dsdt.dsl
Method (_CBA, 0, NotSerialized) // _CBA: Configuration Base Address
{
Return (0x9ABCDEF0)
}
Is the method that I am using to return 64 bit address is incorrect ?
why this strange behavior ?
Regards,
Pankaj Bansal