Michael Brown
89349d7fad
Separated out initialisation functions from startup/shutdown functions.
vor 17 Jahren
Michael Brown
071356d976
Ensure that pxe_netdev is set before starting up PXE NBP.
vor 17 Jahren
Michael Brown
e42eba4af4
Use a common base-memory packet buffer for DHCP construction (as used
by PXE and NBI) and UNDI packets (as used by undinet and UNDI).
vor 17 Jahren
Michael Brown
5f17089b14
pxe_netdev now holds a reference to the network device.
Use generic fields in struct device_description rather than assuming
that the struct device * is contained within a pci_device or
isapnp_device; this assumption is broken when using the undionly
driver.
Add PXENV_UNDI_SET_STATION_ADDRESS.
vor 17 Jahren
Michael Brown
e1646b4080
Place the actual version string in .data16, rather than just the
pointer to it.
vor 17 Jahren
Michael Brown
8130443f9f
Separate out pxe_start_nbp() from pxe_image.c into pxe_call.c
Implement PXENV_RESTART_TFTP.
vor 17 Jahren
Michael Brown
d71b116f54
Fix stack on return from PXE NBP so that we can return properly.
vor 17 Jahren
Michael Brown
0d9b3e2dd2
Add 32-bit support.
Generate DHCP data block for images.
vor 17 Jahren
Michael Brown
160e66dbb9
Typo
vor 17 Jahren
Michael Brown
5578d3b2de
Support 32-bit (linear) NBI images. We don't yet provide a bootp data
block, so first32.c dies immediately.
vor 17 Jahren
Michael Brown
2cf1e33df1
Split bootsector execution code out into bootsector.c.
Added basic El Torito ISO image boot capability
vor 18 Jahren
Michael Brown
6a765fdc15
Use base "0" in strtoul for consistency with "mem="
vor 18 Jahren
Michael Brown
99cb46943f
"vga=" is specified in decimal, not hex.
vor 18 Jahren
Michael Brown
ebb00e032c
Misread the definition of the type_of_loader field; it should include a
version.
vor 18 Jahren
Michael Brown
a5f6408d8e
We can now load an initrd as well as a kernel
vor 18 Jahren
Michael Brown
b9f99858ab
Make the getmemsize() prototype available in memsizes.h, for code that
doesn't want to go to the hassle of processing a full memory map.
vor 18 Jahren
Michael Brown
10c9b03cdb
Actually, the initrd image should be architecture-independent.
vor 18 Jahren
Michael Brown
f92e04dea4
Add dummy "initrd" image format, just so that images can be marked as
initrds.
vor 18 Jahren
Michael Brown
8a490146bf
Copy command line at execution time rather than load time.
Parse command line for "vga=" and "mem=" parameters
vor 18 Jahren
Michael Brown
3ccd7335f0
Split bzimage_load into separate functions
vor 18 Jahren
Michael Brown
97a3037f76
Can start a Linux kernel directly (albeit with no initrd support)
vor 18 Jahren
Michael Brown
784e10635a
Can almost start a kernel now. It dies with "No setup signature found"
vor 18 Jahren
Michael Brown
b07161f397
Placeholder bzImage support
vor 18 Jahren
Michael Brown
797edf28b7
Replace image->entry with image->priv.
vor 18 Jahren
Michael Brown
3bdbfe1f00
Mostly updated. Won't work yet.
vor 18 Jahren
Michael Brown
7bc03d37a2
Select a PXE network device before starting PXE NBP.
Move pxe_boot() code to pxe_image.c
vor 18 Jahren
Michael Brown
55e6d7b70c
Use debug autocolourisation.
Shut down before jumping to the multiboot image.
vor 18 Jahren
Michael Brown
f11900a9c6
I prefer IMAGE_XXX to XXX_IMAGE.
Add IMAGE_PXE to use the new image format framework. "kernel pxelinux.0"
now works.
vor 18 Jahren
Michael Brown
bcd6ca3291
Place multiboot tables in base memory; at least some OSes won't see it
if we don't.
vor 18 Jahren
Michael Brown
0f29e0e46e
Ensure multiboot modules are in ascending order of memory start
address, to work around OS bugs.
vor 18 Jahren
Michael Brown
53e948bba8
Fix the memory map.
vor 18 Jahren
Michael Brown
6fdc6c81a6
Force probing of multiboot before ELF.
vor 18 Jahren
Michael Brown
9debfed07a
Place command-line inline, to save on memory allocation hassles.
vor 18 Jahren
Michael Brown
1d313234b3
Rename copy_user() to memcpy_user(). Add memmove_user() and
userptr_add().
vor 18 Jahren
Michael Brown
e4c6418ac0
We may be required to page-align modules, so let's make sure we catch
it if we don't.
vor 18 Jahren
Michael Brown
f59ad50504
Provide registration mechanism for loaded images, so that we can e.g.
refer to them by name from the command line, or build them into a
multiboot module list.
Use setting image->type to disambiguate between "not my image" and "bad
image"; this avoids relying on specific values of the error code.
vor 18 Jahren
Michael Brown
f31d91bce5
Populate multiboot information structure before calling OS.
vor 18 Jahren
Michael Brown
dc51af59a4
Capable of starting a multiboot kernel (albeit without the multiboot
information table yet).
vor 18 Jahren
Michael Brown
d488a172eb
Capable of loading a multiboot image into memory
vor 18 Jahren
Michael Brown
4fc9333159
Move include/image.h to include/gpxe/image.h
vor 18 Jahren
Michael Brown
3634e705b7
Remove osloader.c and replace with a prep_segment() that uses userptr_t
and get_memmap() in image/segment.c
vor 18 Jahren
Michael Brown
e28db95de6
Obsolete
vor 18 Jahren
Michael Brown
190276a8b6
NBI is due for removal
vor 18 Jahren
Michael Brown
d8e99bf28f
Gave up on adding POSIX errno's as required, and just added (almost) all
of them in one go.
EBADIMG has been replaced by ENOEXEC, and EIMGRET by ECANCELED.
vor 18 Jahren
Michael Brown
832e86246b
gcc is rather over-aggressive about optimising out static data structures
even when __atribute__ (( unused )) is correctly set...
vor 18 Jahren
Michael Brown
809933d9f7
Split PXE code into preboot, udp, tftp, undi and loader units.
PXE code now compiles without errors (though it won't actually work).
vor 19 Jahren
Michael Brown
079b5d5527
Moved pxe_loader.c to pxe_image.c to avoid name clash
vor 19 Jahren
Michael Brown
783e9ca396
Added doxygen comments and errno values.
vor 19 Jahren
Michael Brown
205a7ad5e0
Moved NBI support to nbi.c, modified to work with new load mechanism
vor 19 Jahren