Re: Calling PnP bios routines like get device node from x86_84 arch

From: mkrameshid
Date: Tue Sep 11 2007 - 01:41:07 EST


Hi Alan,
Thanks for your quick reply.

Actually I want to call the BIOS run time functions as per the PNPBIOSSpecification-v1.0a (attached).
Specifically I want to call the function no 0x0 to 0x03. I have Dual-Core AMD Opteron(tm) Processor 2216 and AMI BIOS with the pnp bios support.
So I could call this functions using the default PnP driver which comes along with the (API: call_pnp_bios()) i386 architecture. This driver is only available for i386. But not for x86_64.

So I am trying to implement a driver similar to this for x86_64 arch. But I couldn't .
Because there is need for get_cpu_gdt_table() which is not available in x86_64.
And also some inline asm needs to be totally modify for x86_64. For this

How can I achive this ? Is there any other alternate idea there instead of pnp driver?

Please help on this.

-mkr


Alan Cox wrote:
On Mon, 10 Sep 2007 08:06:20 -0700 (PDT)
PnP driver <mkrameshid@xxxxxxxxx> wrote:

Hi, I am very new to linux kernel driver development. I need to develop a driver for calling BIOS routines like get device node. I could call it
in i386 architecture using the PnP driver.

We use ACPI on AMD64 so you should be parsing the ACPI tables not trying
to rely on legacy interfaces which if I rememeber the spec rightly aren't
even guaranteed safe to call when ACPI is active.

What are you actually trying to achieve.

But in x86_64 arch I couldn't see any support. Even I tried to
implement it similar to the i386. But there is no API get_cpu_gdt_table().
Is there any other way to get the cpu_gdt_table? or any other way to call the BIOS routines.

Assuming you even have a BIOS - you may have EFI underlying or
Linuxbios or be a virtual machine.


Attachment: PNPBIOSSpecification-v1.0a.pdf
Description: Adobe PDF document