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.)
19 년 전
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.
19 년 전
Michael Brown
4435667a00
Add int13_boot(), to allow booting from INT 13 emulated drives.
19 년 전
Michael Brown
b4f941b257
Specify attributes on .text16.
19 년 전
Michael Brown
2421723a15
Rewrote printf and friends to better support standard C semantics.
19 년 전
Michael Brown
5080668704
Provide access to rm_cs and rm_ds from protected-mode code.
19 년 전
Michael Brown
dc8d429ec6
Provide a global counter for the number of interrupts hooked.
19 년 전
Michael Brown
d822b3d4cd
Define BIOS data segment in bios.h
19 년 전
Michael Brown
a27defa483
Add flag definitions.
19 년 전
Michael Brown
d2c22ec9bb
Add INT 13 emulation layer (which provides an interface to gPXE block
devices).
19 년 전
Michael Brown
1ad72e0e79
Add 64-bit byte-swapping operations.
19 년 전
Michael Brown
568cad0ddc
(Redoing check-in lost by SourceForge's failure.)
19 년 전
Michael Brown
847f38f4ac
(Redoing check-in lost by SourceForge's failure.)
Add method for hooking real-mode interrupt vectors.
19 년 전
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}.
19 년 전
Michael Brown
97d265f8dc
(Redoing check-in lost by SourceForge's failure.)
Avoid optimisation errors under -fstrict-aliasing.
19 년 전
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.
19 년 전
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.
19 년 전
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.
19 년 전
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.
19 년 전
Michael Brown
9c9208a132
Put the TCP connection periodic processing in tcp.c, where it belongs.
19 년 전
Michael Brown
7a82c3eca3
Added missing ssize_t
19 년 전
Michael Brown
832e86246b
gcc is rather over-aggressive about optimising out static data structures
even when __atribute__ (( unused )) is correctly set...
19 년 전
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.
19 년 전
Michael Brown
510ccb2900
Added __constant_memcpy() based on version in Linux's string.h.
Added memswap().
19 년 전
Michael Brown
7b423c0988
Fixes for gcc >= 3.2 from Georg Baum
20 년 전
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).
20 년 전
Michael Brown
8becf0f65f
Rearranging PXE header files
20 년 전
Michael Brown
d3dec7c331
Update to cope with changes in registers.h
20 년 전
Michael Brown
5231b858c9
Don't use anonymous entries in a struct; it seems to aggravate gcc 3.4.3.
20 년 전
Michael Brown
d0c9183903
Doxygenation
20 년 전
Michael Brown
dd475a9b8c
Add a const to avoid a warning
20 년 전
Michael Brown
9c832a6a69
First version
20 년 전
Michael Brown
479fb900a1
Added copy_phys_to_phys
20 년 전
Michael Brown
3bbf5f28a3
Use __unused instead of __used for static data structures.
Remove compiler.h defines from osdep.h
20 년 전
Michael Brown
b94def2088
Include string.h, because we need to define copy_{to,from}_phys
20 년 전
Michael Brown
116f17f605
off_t should be signed.
20 년 전
Michael Brown
e3f2aa7b4d
Add off_t and physaddr_t, and the copy_{to,from}_phys helper routines.
20 년 전
Michael Brown
dc0aa58fb2
Add memcpy
20 년 전
Michael Brown
c08671e5fc
Missing include
20 년 전
Michael Brown
b9e72856b6
Post-relocation functions use the generic table mechanism.
20 년 전
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.
20 년 전
Michael Brown
fcee25024f
BIOS floppy handling code moved to where it will really live.
20 년 전
Michael Brown
c245ab75ad
Moved disk functions to drivers/bus/bios_disks.c
20 년 전
Michael Brown
2c36f5e6c7
Save a few bytes by using naturally-sized ints.
20 년 전
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.
20 년 전
Michael Brown
e44e5c7247
compiler.h is now always included on the command line.
20 년 전
Michael Brown
3095881c54
For pci_io.c
20 년 전
Michael Brown
87508aa0b2
arch_initialise() is now sufficiently generic that we may as well just
call it initialise() and place it in main.c. :)
20 년 전
Michael Brown
f06e8c9707
Added post-relocation function table.
20 년 전
Michael Brown
44e62317be
Add librm_base.
20 년 전