diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2008-12-21 17:51:36 -0500 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2008-12-21 17:51:36 -0500 |
commit | 0c3068d2ef293f59241c0e10d308309ebaa60277 (patch) | |
tree | d2ba5ed58e23f35114759b1f0dd7338864a65721 /src/optionroms.c | |
parent | fb630a9fa89264ff5cdd1e82c3b0854e5599731f (diff) | |
download | seabios-0c3068d2ef293f59241c0e10d308309ebaa60277.tar.gz |
Initial PnP bios call support.
This commit provides just enough PnP support for gPXE to not hook int19.
Diffstat (limited to 'src/optionroms.c')
-rw-r--r-- | src/optionroms.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/src/optionroms.c b/src/optionroms.c index 389d528b..89381634 100644 --- a/src/optionroms.c +++ b/src/optionroms.c @@ -17,9 +17,6 @@ * Definitions ****************************************************************/ -// $PnP string with special alignment in romlayout.S -extern char pnp_string[]; - struct rom_header { u16 signature; u8 size; @@ -93,7 +90,7 @@ callrom(struct rom_header *rom, u16 offset, u16 bdf) br.bx = 0xffff; br.dx = 0xffff; br.es = SEG_BIOS; - br.di = (u32)pnp_string - BUILD_BIOS_ADDR; + br.di = get_pnp_offset(); br.cs = seg; br.ip = offset; call16big(&br); @@ -126,7 +123,7 @@ static struct pnp_data * get_pnp_rom(struct rom_header *rom) { struct pnp_data *pnp = (struct pnp_data *)((u8*)rom + rom->pnpoffset); - if (pnp->signature != *(u32*)pnp_string) + if (pnp->signature != PNP_SIGNATURE) return NULL; return pnp; } @@ -138,7 +135,7 @@ get_pnp_next(struct rom_header *rom, struct pnp_data *pnp) if (! pnp->nextoffset) return NULL; pnp = (struct pnp_data *)((u8*)rom + pnp->nextoffset); - if (pnp->signature != *(u32*)pnp_string) + if (pnp->signature != PNP_SIGNATURE) return NULL; return pnp; } |