Michael Brown
1949641d10
Fix compiler warnings that appear only on OpenBSD.
17 лет назад
Michael Brown
755cb8379d
Allow space for the kernel's real-mode .bss. Previously we weren't
allowing any space for this, which makes it surprising that bzImage
loading ever worked.
17 лет назад
Michael Brown
56550e400e
Redefine bzimage_exec_context::mem_limit to be the highest permissible
byte, rather than the number of permissible bytes (i.e. subtract one
from the value under the previous definition to get the value under
the new definition).
This avoids integer overflow on 64-bit kernels, where
bzhdr.initrd_addr_max may be 0xffffffffffffffff; under the old
behaviour we set mem_limit equal to initrd_addr_max+1, which meant it
ended up as zero. Kernel loads would fail with ENOBUFS.
17 лет назад
Michael Brown
688bac1656
Place multiboot command lines in base memory; Xen won't pick them up
otherwise. :(
17 лет назад
Michael Brown
d4947c05b2
Allow images to hold references to the originating URI.
Some shuffling around of the image management code; this needs tidying up.
17 лет назад
Michael Brown
9fd6a0418f
Allowed zero-cost enforced ordering of features in startup banner
list.
Added FEATURE() macros to most relevant (non-driver) files.
17 лет назад
Michael Brown
726e366e8f
Add code for constructing single-file cpio archives on the fly
17 лет назад
Michael Brown
24f32a1945
Initrd concatenation now working
17 лет назад
Michael Brown
c5d9114064
Allow loading of multiple initramfs images.
17 лет назад
Michael Brown
5e26df0325
Centralise construction of the DHCP request and response packets.
17 лет назад
Holger Lubitz
9a4790667a
make multiboot_load static
17 лет назад
Holger Lubitz
dc38303ff9
make nbi_load static
17 лет назад
Holger Lubitz
5ec4e2ad50
make eltorito_load static
17 лет назад
Michael Brown
d5e39286f7
We probably shouldn't leave interrupts disabled when starting an OS.
17 лет назад
Michael Brown
07e11f8af9
Minor debug improvement
17 лет назад
Michael Brown
6d2e4e719c
Move uninitialised .data16 variables to .bss16; saves around 2000
bytes of useless zeroes in the final image.
17 лет назад
Michael Brown
89349d7fad
Separated out initialisation functions from startup/shutdown functions.
17 лет назад
Michael Brown
071356d976
Ensure that pxe_netdev is set before starting up PXE NBP.
17 лет назад
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).
17 лет назад
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.
17 лет назад
Michael Brown
e1646b4080
Place the actual version string in .data16, rather than just the
pointer to it.
17 лет назад
Michael Brown
8130443f9f
Separate out pxe_start_nbp() from pxe_image.c into pxe_call.c
Implement PXENV_RESTART_TFTP.
17 лет назад
Michael Brown
d71b116f54
Fix stack on return from PXE NBP so that we can return properly.
17 лет назад
Michael Brown
0d9b3e2dd2
Add 32-bit support.
Generate DHCP data block for images.
17 лет назад
Michael Brown
160e66dbb9
Typo
17 лет назад
Michael Brown
5578d3b2de
Support 32-bit (linear) NBI images. We don't yet provide a bootp data
block, so first32.c dies immediately.
17 лет назад
Michael Brown
2cf1e33df1
Split bootsector execution code out into bootsector.c.
Added basic El Torito ISO image boot capability
17 лет назад
Michael Brown
6a765fdc15
Use base "0" in strtoul for consistency with "mem="
17 лет назад
Michael Brown
99cb46943f
"vga=" is specified in decimal, not hex.
17 лет назад
Michael Brown
ebb00e032c
Misread the definition of the type_of_loader field; it should include a
version.
17 лет назад
Michael Brown
a5f6408d8e
We can now load an initrd as well as a kernel
17 лет назад
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.
17 лет назад
Michael Brown
10c9b03cdb
Actually, the initrd image should be architecture-independent.
17 лет назад
Michael Brown
f92e04dea4
Add dummy "initrd" image format, just so that images can be marked as
initrds.
17 лет назад
Michael Brown
8a490146bf
Copy command line at execution time rather than load time.
Parse command line for "vga=" and "mem=" parameters
17 лет назад
Michael Brown
3ccd7335f0
Split bzimage_load into separate functions
17 лет назад
Michael Brown
97a3037f76
Can start a Linux kernel directly (albeit with no initrd support)
17 лет назад
Michael Brown
784e10635a
Can almost start a kernel now. It dies with "No setup signature found"
17 лет назад
Michael Brown
b07161f397
Placeholder bzImage support
17 лет назад
Michael Brown
797edf28b7
Replace image->entry with image->priv.
17 лет назад
Michael Brown
3bdbfe1f00
Mostly updated. Won't work yet.
17 лет назад
Michael Brown
7bc03d37a2
Select a PXE network device before starting PXE NBP.
Move pxe_boot() code to pxe_image.c
17 лет назад
Michael Brown
55e6d7b70c
Use debug autocolourisation.
Shut down before jumping to the multiboot image.
17 лет назад
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.
17 лет назад
Michael Brown
bcd6ca3291
Place multiboot tables in base memory; at least some OSes won't see it
if we don't.
17 лет назад
Michael Brown
0f29e0e46e
Ensure multiboot modules are in ascending order of memory start
address, to work around OS bugs.
17 лет назад
Michael Brown
53e948bba8
Fix the memory map.
17 лет назад
Michael Brown
6fdc6c81a6
Force probing of multiboot before ELF.
17 лет назад
Michael Brown
9debfed07a
Place command-line inline, to save on memory allocation hassles.
17 лет назад
Michael Brown
1d313234b3
Rename copy_user() to memcpy_user(). Add memmove_user() and
userptr_add().
17 лет назад