[fpc-pascal]BIOS PnP function far call (go32v2)

Lubomir.Cabla at cssz.cz Lubomir.Cabla at cssz.cz
Tue Sep 9 15:20:48 CEST 2003


Hi,

under GO32V2 i want to call BIOS PnP function with entry point

        db $FF,$1E; dw PnP_EntryPoint
or
        call DWord ptr [PnP_EntryPoint]

but always i got error "SIGSEGV - segmentation violation".
PnP_EntryPoint (type pointer) is normally somewhere in BIOS area at
F000:xxxxh.

In PnP specification i found this:

  "If this function is called from protected mode the caller must
  create a data segment descriptor using the 16-bit Protected Mode data
  segment base address specified in the Plug and Play Installation Check
  data structure, a limit of 64k, and the descriptor must be readable and
  writable."

But i don't know how can i do that
-> "make a readable and writable data segment descriptor".

And the second problem is how can i make a pointer
"PnP_EntryPoint" to this real memory area.

Under real DOS with BP7 it is O.K.

Sorry, i know this is not really question to FPC, but maybe somebody
could help me. The same problem i got with calling ASPI entry point.

Thanks

Lubomir Cabla/CBL




More information about the fpc-pascal mailing list