Michael Brown
0a8a17e669
[i386] Free allocated base memory on exit, if possible
Code paths that automatically allocate memory from the FBMS at 40:13
should also free it, if possible.
Freeing this memory will not be possible if either
1. The FBMS has been modified since our allocation, or
2. We have not been able to unhook one or more BIOS interrupt vectors.
16 anos atrás
Michael Brown
fd0aef9ee1
[prefix] Add PCI bus:dev.fn to ROM product string
This allows multiple gPXE ROMs in a system to be disambiguated at boot
time; the PCI ID will show up in the boot menu for a BBS-compliant BIOS.
16 anos atrás
Michael Brown
297002d7bd
[prefix] Add printing functions to libprefix.S
Move the printing functions from pxeprefix.S into libprefix.S, so they
are available for debug from any prefix.
16 anos atrás
Michael Brown
f8a0b5f682
Use internal 16-bit stack for added safety.
17 anos atrás
Michael Brown
7d9267561b
Don't call PXENV_STOP_UNDI in the kpxeprefix. This slighy breaks the
clean separation between loading and starting, but does mean that more
PXE stacks survive the process.
18 anos atrás
Michael Brown
fdc97499bf
Add device description fields to struct device.
18 anos atrás
Michael Brown
a2be828a33
Avoid leaving preloaded_undi with invalid PXENV+/!PXE structure
addresses if the signature checks fail.
18 anos atrás
Michael Brown
697bcc9d24
Since we now always unload the base code stack (even if we keep UNDI),
we can never return to the PXE stack and must always use INT 18.
18 anos atrás
Michael Brown
2436dac281
Populate preloaded_undi device when applicable.
18 anos atrás
Michael Brown
47222d5ed8
Call PXENV_UNDI_GET_NIC_TYPE to identify NIC physical device.
Record all information required for populating a struct undi_device.
Make debugging output more human-readable.
18 anos atrás
Michael Brown
fbdebac5f4
Copy pxelinux's shutdown sequence: use UNLOAD_STACK without STOP_BASE,
and call UNDI_SHUTDOWN first to make sure the NIC is in a safe state.
18 anos atrás
Michael Brown
8f8af10b22
New strategy: always stop both base code and UNDI. Always free base code
memory (unless we get an error while stopping the base code). Leave UNDI
resident (though stopped) for .kpxe.
Still need to add code to record the device identification parameters
prior to stopping UNDI.
18 anos atrás
Michael Brown
9f86754f90
Updated to work with libprefix.
18 anos atrás
Michael Brown
698f86f25a
Prevent hundreds of errors from "make symcheck". The prefix exit path
mechanism has changed anyway, and so must be rewritten, but at least doing
this makes the output of "make symcheck" more legible.
19 anos atrás
Michael Brown
3d6123e69a
Initial revision
19 anos atrás