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
Michael Brown
2cfe0dee1f
Don't trash the %ecx value returned by relocate(). This was causing
us to round down the size for the relocation copy to the nearest 64kB
(+0x10 bytes); this just happened to work on most machines because the
last 64kB of the image is all-zeroes anyway (it's the .bss).
17 years ago
Michael Brown
a8111e8ab7
Remove INT 13,4b handler; it represents an incomplete feature (CD-ROM
emulation support) for an unknown purpose, and breaks grub.
17 years ago
Michael Brown
0d9d2ccbae
Completed definition of struct int13_cdrom_specification, and moved to
int13.h.
17 years ago
Michael Brown
013d381e3c
Real-mode code might set the direction flag, which would cause carnage.
17 years ago
Michael Brown
c94cdf2b7d
Move .zinfo to libprefix.S; it doesn't belong with the decompression code.
17 years ago
Michael Brown
dc52db4920
Removed dead code identified by symcheck
17 years ago
Michael Brown
38dbe14bbe
Kill off redundant references to the .zprefixes.
17 years ago
Michael Brown
84551d485e
Update all prefixes currently referring to _load_size to include a
compressor fixup section.
17 years ago
Michael Brown
0929142a15
Rename _rom_size to _load_size_sect, since hdprefix.S also uses it.
17 years ago
Michael Brown
048bbeeebc
Compressed ROM images now work.
17 years ago
Michael Brown
6d2e4e719c
Move uninitialised .data16 variables to .bss16; saves around 2000
bytes of useless zeroes in the final image.
17 years ago
Michael Brown
389204713f
Kill off some long-redundant CFLAGS
17 years ago
Michael Brown
833d6cc8ec
Add __bss16() macro, and allow use of .bss16 section by removing
link-time check for section overlaps. (In order to avoid wasting
space in the executable image, .bss16 will overlap with the following
section, which is .text).
17 years ago
Michael Brown
ab859a5355
Use a single _payload_offset linker-defined variable to locate the
start of the non-prefix blocks in the loaded image, and rely on the
image ordering. This should make introducing compression much easier.
17 years ago
Michael Brown
0b5059c40b
Skip the length field prepended by util/nrv2b.c
17 years ago
Michael Brown
b37e267d1b
Modified calling convention: we now update %esi and %edi just like a
"rep movsb".
17 years ago
Michael Brown
3feac9465e
"not" doesn't affect flags, "xor $-1" does.
17 years ago
Michael Brown
26473105cd
On advice of hpa: be more patient with the KBC and SCPA methods; retry
in a long loop before giving up on them. Record method which worked
and default to that method on next attempt.
17 years ago
Michael Brown
adf192f566
Shrink cpu.c and render it useful for our purposes.
17 years ago
Michael Brown
e330db3c74
Dead code removal.
Kill off use of etherboot.h outside drivers/net.
17 years ago
Michael Brown
95c07736cb
Be more aggressive in attempts to enable A20, now that we have the
optimisation of only trying to do so when necessary.
17 years ago
Michael Brown
8624fdc445
Kill off the enforced RX quota; it only seems to hurt on real hardware.
17 years ago
Michael Brown
57b5e227ff
Use fast in-situ test for gate A20 being set, to cut down on the
number of (potentially very slow) gateA20_set operations.
Die with a fatal error if we are unable to set gate A20; if this fails
then we are bound to experience memory corruption at a later stage,
and I'd prefer to pick it up early.
17 years ago
Michael Brown
2ac7694c3e
Improve error reporting for strange length combinations reported by
the UNDI stack.
Ignore obviously invalid length combinations (as returned by
e.g. VMWare's PXE stack).
Limit to one packet per poll to avoid memory exhaustion.
17 years ago