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