Michael Brown
6b6096d28b
Strip down i386 PCI configuration space I/O to the bare minimum. A
typical build will now include 880 bytes of PCI support code, compared to
2327 bytes in Etherboot 5.4.
(There is a slight cost of around 5 extra bytes per access to a
non-constant config space address; this should be an overall win.
Driver-specific accesses will usually be to constant addresses, for
which there is no additional cost.)
18 years ago
Michael Brown
295e11b2b0
Add INT 13,41 (extensions installation check). LILO's MBR now uses
linear calls to load the MS-DOS boot sector in my test setup.
18 years ago
Michael Brown
4435667a00
Add int13_boot(), to allow booting from INT 13 emulated drives.
18 years ago
Michael Brown
b4f941b257
Specify attributes on .text16.
18 years ago
Michael Brown
2421723a15
Rewrote printf and friends to better support standard C semantics.
18 years ago
Michael Brown
5080668704
Provide access to rm_cs and rm_ds from protected-mode code.
18 years ago
Michael Brown
dc8d429ec6
Provide a global counter for the number of interrupts hooked.
18 years ago
Michael Brown
d822b3d4cd
Define BIOS data segment in bios.h
18 years ago
Michael Brown
a27defa483
Add flag definitions.
18 years ago
Michael Brown
d2c22ec9bb
Add INT 13 emulation layer (which provides an interface to gPXE block
devices).
18 years ago
Michael Brown
1ad72e0e79
Add 64-bit byte-swapping operations.
18 years ago
Michael Brown
568cad0ddc
(Redoing check-in lost by SourceForge's failure.)
18 years ago
Michael Brown
847f38f4ac
(Redoing check-in lost by SourceForge's failure.)
Add method for hooking real-mode interrupt vectors.
18 years ago
Michael Brown
f7b963da51
(Redoing check-in lost by SourceForge's failure.)
Use .text16.data section with "aw" attributes, to avoid section type
conflicts when placing both code and data into .text16.
Add __from_{text16,data16}.
18 years ago
Michael Brown
97d265f8dc
(Redoing check-in lost by SourceForge's failure.)
Avoid optimisation errors under -fstrict-aliasing.
18 years ago
Michael Brown
f8e087767b
Allow access to variables in .text16 as well as .data16. Chained
interrupt vectors, for example, will be easiest to handle if placed in
.text16.
18 years ago
Michael Brown
f4429533a6
Added methods for efficiently declaring and accessing variables in
.data16. librm will need to supply "char *data16", i.e. the virtual
address of the start of .data16.
18 years ago
Michael Brown
9e1dd6402d
<name>_size variable is no longer needed, since we don't copy the code.
However, it's worth adding a .size directive so that objdump reports the
correct sizes for the code fragments.
18 years ago
Michael Brown
9fcded3d23
Towards a(nother) new real-mode infrastructure, in which we take
advantage of the fact that we have to have a permanently-resident block
in base memory.
18 years ago
Michael Brown
9c9208a132
Put the TCP connection periodic processing in tcp.c, where it belongs.
18 years ago
Michael Brown
7a82c3eca3
Added missing ssize_t
18 years ago
Michael Brown
832e86246b
gcc is rather over-aggressive about optimising out static data structures
even when __atribute__ (( unused )) is correctly set...
18 years ago
Michael Brown
824d6ffa7f
Header rearrangement.
I want to get to the point where any header in include/ reflects a
standard user-level header (e.g. a POSIX header), while everything that's
specific to gPXE lives in include/gpxe/. Headers that reflect a Linux
header (e.g. if_ether.h) should also be in include/gpxe/, with the same
name as the Linux header and, preferably, the same names used for the
definitions.
18 years ago
Michael Brown
510ccb2900
Added __constant_memcpy() based on version in Linux's string.h.
Added memswap().
18 years ago
Michael Brown
7b423c0988
Fixes for gcc >= 3.2 from Georg Baum
19 years ago
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).
19 years ago
Michael Brown
8becf0f65f
Rearranging PXE header files
19 years ago
Michael Brown
d3dec7c331
Update to cope with changes in registers.h
19 years ago
Michael Brown
5231b858c9
Don't use anonymous entries in a struct; it seems to aggravate gcc 3.4.3.
19 years ago
Michael Brown
d0c9183903
Doxygenation
19 years ago
Michael Brown
dd475a9b8c
Add a const to avoid a warning
19 years ago
Michael Brown
9c832a6a69
First version
19 years ago
Michael Brown
479fb900a1
Added copy_phys_to_phys
19 years ago
Michael Brown
3bbf5f28a3
Use __unused instead of __used for static data structures.
Remove compiler.h defines from osdep.h
19 years ago
Michael Brown
b94def2088
Include string.h, because we need to define copy_{to,from}_phys
19 years ago
Michael Brown
116f17f605
off_t should be signed.
19 years ago
Michael Brown
e3f2aa7b4d
Add off_t and physaddr_t, and the copy_{to,from}_phys helper routines.
19 years ago
Michael Brown
dc0aa58fb2
Add memcpy
19 years ago
Michael Brown
c08671e5fc
Missing include
19 years ago
Michael Brown
b9e72856b6
Post-relocation functions use the generic table mechanism.
19 years ago
Michael Brown
3dbdeb588f
ISA bus driver updated to report devices as present only if a driver
thinks they are.
Other bus drivers modified for consistency.
19 years ago
Michael Brown
fcee25024f
BIOS floppy handling code moved to where it will really live.
19 years ago
Michael Brown
c245ab75ad
Moved disk functions to drivers/bus/bios_disks.c
19 years ago
Michael Brown
2c36f5e6c7
Save a few bytes by using naturally-sized ints.
19 years ago
Michael Brown
1a6ca649a2
Made copy_{to,from}_real volatile, so that they don't get optimised away.
Added REAL_FRAGMENT(), because it could conceivably be useful.
19 years ago
Michael Brown
e44e5c7247
compiler.h is now always included on the command line.
19 years ago
Michael Brown
3095881c54
For pci_io.c
19 years ago
Michael Brown
87508aa0b2
arch_initialise() is now sufficiently generic that we may as well just
call it initialise() and place it in main.c. :)
19 years ago
Michael Brown
f06e8c9707
Added post-relocation function table.
19 years ago
Michael Brown
44e62317be
Add librm_base.
19 years ago