Michael Brown
1949641d10
Fix compiler warnings that appear only on OpenBSD.
17 years ago
Michael Brown
26f3a09ccf
Add UUID to DHCP request as option 97 (if available).
17 years ago
Michael Brown
899f5b8ab2
Added definition of a UUID and uuid_ntoa() (for debugging), and
implemented smbios_get_uuid().
17 years ago
Michael Brown
68c438954d
Update SMBIOS internal API to be easier to use, and not to require
potentially exorbitant amounts of stack space.
17 years ago
Michael Brown
89eaab79c8
Replace "Etherboot" strings with "gPXE".
17 years ago
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 years ago
Michael Brown
c482fef058
Add missing attribute(packed) to two structures.
17 years ago
Michael Brown
35ee7e4479
Ensure that empty e820 regions are skipped even at the end of the
memory map. (We achieve this by setting CF on the last entry if it is
zero-length; this avoids the need to look ahead to see at each entry
if the *next* entry would be both the last entry and zero-length).
This fixes the "0kB base memory" error message upon starting Windows
2003 on a SunFire X2100.
17 years ago
Michael Brown
e445c2c07c
Ensure that empty e820 regions are skipped even at the end of the
memory map. (We achieve this by setting CF on the last entry if it is
zero-length; this avoids the need to look ahead to see at each entry
if the *next* entry would be both the last entry and zero-length).
This fixes the "0kB base memory" error message upon starting Windows
2003 on a SunFire X2100.
17 years ago
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 years ago
Michael Brown
881dd8e102
Switch rm_ss and rm_sp back to being words; it'll make it less
confusing to read the code.
17 years ago
Michael Brown
42d96bcb07
Don't use the "rep ss movsb" trick to copy the RM stack to the PM
stack; it breaks vmxassist.
17 years ago
Michael Brown
0ed066bc50
rm_ss, rm_sp, and pm_esp don't need to be accessed from anywhere
outside of librm.S.
17 years ago
Michael Brown
b8a8eea850
Minor refactoring to eliminate duplication.
17 years ago
Michael Brown
dec325fe43
Use full protected mode for access to high memory within prefix, to
work around limitations in real-mode virtualisation support on Intel
VT-capable chips.
17 years ago
Michael Brown
a7eee64506
Added more verbose memory-map debugging.
Added redundant call to get_memmap() in int13_boot() immediately
before jumping to boot sector, to assist in debugging.
17 years ago
Michael Brown
0979e674bb
Added more verbose memory-map debugging.
Added redundant call to get_memmap() in int13_boot() immediately
before jumping to boot sector, to assist in debugging.
17 years ago
Michael Brown
9c264faa0c
Add const attribute to byte-swapping functions
17 years ago
Michael Brown
687afdcdd9
Add const attribute to byte-swapping functions
17 years ago
Michael Brown
fbec308f41
Re-added the kpxe prefix. I have no idea when this disappeared.
17 years ago
Michael Brown
a82e6ec2de
Added missing .kpxe prefix.
17 years ago
Michael Brown
01b755704a
Auto-assign drive number only if set to 0xff; almost all applications
require that we use drive 0x80, so it should probably be the default.
17 years ago
Michael Brown
d0974ec716
Separate out arch-independent parts of stdint.h
17 years ago
Michael Brown
eff8b06eff
Separate out arch-independent parts of stdint.h
17 years ago
Holger Lubitz
7815474495
Revert "malloc attribute changes"
wasn't meant for my local "master" branch ;)
This reverts commit 373022108b .
17 years ago
Michael Brown
950057eeed
Add PXE FILE API.
17 years ago
Michael Brown
688bac1656
Place multiboot command lines in base memory; Xen won't pick them up
otherwise. :(
17 years ago
Holger Lubitz
373022108b
malloc attribute changes
17 years ago
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 years ago
Michael Brown
9fd6a0418f
Allowed zero-cost enforced ordering of features in startup banner
list.
Added FEATURE() macros to most relevant (non-driver) files.
17 years ago
Holger Lubitz
0ebf6cdef4
remove old minorversion!=4 check (added -march a second time)
17 years ago
Holger Lubitz
06eb725cd4
remove x86_64 comments from arch specific Config
options are in main makefile now
17 years ago
Michael Brown
726e366e8f
Add code for constructing single-file cpio archives on the fly
17 years ago
Michael Brown
24f32a1945
Initrd concatenation now working
17 years ago
Michael Brown
c5d9114064
Allow loading of multiple initramfs images.
17 years ago
Michael Brown
5e26df0325
Centralise construction of the DHCP request and response packets.
17 years ago
Michael Brown
4ce8d61a5c
Import various libgcc functions from syslinux.
Experimentation reveals that gcc ignores -mrtd for the implicit
arithmetic functions (e.g. __udivdi3), but not for the implicit
memcpy() and memset() functions. Mark the implicit arithmetic
functions with __attribute__((cdecl)) to compensate for this.
(Note: we cannot mark with with __cdecl, because we define __cdecl to
incorporate regparm(0) as well.)
17 years ago
Michael Brown
f62d6486d8
GCC's optimiser seems to screw up if this is left static...
17 years ago
Michael Brown
304d1e9fa5
Don't rely on retry.c's periodically calling currticks() in order to
allow the UNDI NIC interrupt to happen.
17 years ago
Michael Brown
a6a1052096
Applied a modified version of holger's regparm patches.
17 years ago
Holger Lubitz
0ae6c53bd9
Revert "make __udivmoddi4 static" - gcc links to it implicitly
This reverts commit 9e7b165017 .
17 years ago
Holger Lubitz
9a4790667a
make multiboot_load static
17 years ago
Holger Lubitz
dc38303ff9
make nbi_load static
17 years ago
Holger Lubitz
5ec4e2ad50
make eltorito_load static
17 years ago
Holger Lubitz
9e7b165017
make __udivmoddi4 static
17 years ago
Michael Brown
09118cd5bf
Don't overwrite %dl with a (potentially) modified drive number if we
already handled the INT13 call.
17 years ago
Michael Brown
d5e39286f7
We probably shouldn't leave interrupts disabled when starting an OS.
17 years ago
Michael Brown
9aa61ad5a2
Add per-file error identifiers
17 years ago
Michael Brown
75912b3b77
Remove some obsolete sections of librm.h and libkir.h.
Add some of the missing parts to libkir.h.
17 years ago
Michael Brown
07e11f8af9
Minor debug improvement
17 years ago