Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | (Redoing check-in lost by SourceForge's failure.) | Michael Brown | 2006-05-13 | 1 | -11/+21 |
| | | | | Avoid optimisation errors under -fstrict-aliasing. | ||||
* | Preserve the whole of %esp across prot_call(). We have to split this | Michael Brown | 2006-05-06 | 1 | -7/+14 |
| | | | | | | | | | | | | | between the low half stored in the static variable rm_sp, and the high half stored on the prot_call() stack, because: Just using the stack would screw up when a prot_call()ed routine executes a real_call(); it would have no way to find the current top of the RM stack. Extending rm_sp to rm_esp would not be safe, because the guarantee that rm_sp must return to the correct value by the time an external real-mode call returns applies only to %sp, not to %esp. | ||||
* | Allow access to variables in .text16 as well as .data16. Chained | Michael Brown | 2006-05-06 | 3 | -2/+16 |
| | | | | | interrupt vectors, for example, will be easiest to handle if placed in .text16. | ||||
* | Preserve GDT across prot_call(). | Michael Brown | 2006-05-06 | 1 | -6/+12 |
| | |||||
* | This line should not have been checked in | Michael Brown | 2006-05-05 | 1 | -1/+0 |
| | |||||
* | Add infrastructure to support access to .data16 (and .text16) variables | Michael Brown | 2006-05-05 | 2 | -76/+125 |
| | | | | | | | | | from protected-mode code. Set up %ds to point to .data16 in prot_to_real, so that code specified via REAL_EXEC() and friends can access variables in .data16. Move most real-mode librm variables from .text16 to .data16. | ||||
* | Added methods for efficiently declaring and accessing variables in | Michael Brown | 2006-05-04 | 3 | -0/+59 |
| | | | | | .data16. librm will need to supply "char *data16", i.e. the virtual address of the start of .data16. | ||||
* | BSS is now zeroed by libprefix (along with the otherwise non-zeroable | Michael Brown | 2006-05-02 | 1 | -3/+0 |
| | | | | | | | portions such as the stack) during the installation process. init_fns() are called from main(). We need to think about initial control flow some more. | ||||
* | Typo | Michael Brown | 2006-05-02 | 1 | -2/+2 |
| | |||||
* | Create two easy-to-use entry points in libprefix: install and | Michael Brown | 2006-05-02 | 4 | -35/+122 |
| | | | | | install_prealloc. I *think* these will suffice for all the 16-bit prefixes. | ||||
* | <name>_size variable is no longer needed, since we don't copy the code. | Michael Brown | 2006-05-02 | 1 | -3/+1 |
| | | | | | However, it's worth adding a .size directive so that objdump reports the correct sizes for the code fragments. | ||||
* | Towards a(nother) new real-mode infrastructure, in which we take | Michael Brown | 2006-05-02 | 9 | -1177/+460 |
| | | | | | advantage of the fact that we have to have a permanently-resident block in base memory. | ||||
* | Move stack out to separate object, so that having a stack doesn't drag in | Michael Brown | 2006-05-02 | 2 | -9/+13 |
| | | | | setup.S. | ||||
* | Verified as working | Michael Brown | 2006-05-02 | 1 | -6/+9 |
| | |||||
* | This should be much more elegant: we use flat real mode for the | Michael Brown | 2006-05-02 | 1 | -130/+219 |
| | | | | | highmem data, so decompress16 will be able to unpack blocks bigger than 64kB. | ||||
* | Checking in because I don't want to lose this rather neat code for | Michael Brown | 2006-05-01 | 1 | -0/+178 |
| | | | | | running the decompresser in 16:16 protected mode using the real-mode stack. However, there's an even simpler way to do it... | ||||
* | Put the TCP connection periodic processing in tcp.c, where it belongs. | Michael Brown | 2006-04-30 | 1 | -0/+2 |
| | |||||
* | Move init.h to gpxe/init.h. | Michael Brown | 2006-04-30 | 7 | -7/+7 |
| | |||||
* | Gave up on adding POSIX errno's as required, and just added (almost) all | Michael Brown | 2006-04-28 | 1 | -15/+15 |
| | | | | | | of them in one go. EBADIMG has been replaced by ENOEXEC, and EIMGRET by ECANCELED. | ||||
* | Added missing ssize_t | Michael Brown | 2006-04-25 | 1 | -0/+1 |
| | |||||
* | gcc is rather over-aggressive about optimising out static data structures | Michael Brown | 2006-04-24 | 4 | -8/+8 |
| | | | | even when __atribute__ (( unused )) is correctly set... | ||||
* | (librm_base-1b) is already an offset; no need to apply OFFSET(). | Michael Brown | 2006-04-24 | 1 | -1/+1 |
| | | | | | Doing so, in fact, seems to expose an assembler bug; (a-b-0) is apparently not the same as (a-b). Go figure. | ||||
* | Header rearrangement. | Michael Brown | 2006-04-24 | 4 | -4/+4 |
| | | | | | | | | | 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. | ||||
* | Added __constant_memcpy() based on version in Linux's string.h. | Michael Brown | 2006-04-24 | 1 | -12/+135 |
| | | | | Added memswap(). | ||||
* | Prefix semantics have changed | Michael Brown | 2006-03-16 | 1 | -0/+5 |
| | |||||
* | Merge from Etherboot 5.4 | Michael Brown | 2006-03-16 | 1 | -1/+2 |
|\ | |||||
* | | Merge from Etherboot 5.4 | Michael Brown | 2006-03-16 | 2 | -18/+83 |
|\| | |||||
* | | Merge from Etherboot 5.4 | Michael Brown | 2006-03-16 | 2 | -0/+300 |
|\| | |||||
* | | Fix up building with gcc 4.0.1 / gas 2.16.91 | Michael Brown | 2006-01-17 | 2 | -4/+4 |
| | | |||||
* | | Some versions of doxygen seem to object to "@ret None" or similar. | Michael Brown | 2005-05-24 | 1 | -2/+2 |
| | | |||||
* | | Fixes for gcc >= 3.2 from Georg Baum | Michael Brown | 2005-05-24 | 3 | -7/+7 |
| | | |||||
* | | Split PXE code into preboot, udp, tftp, undi and loader units. | Michael Brown | 2005-05-24 | 3 | -24/+5 |
| | | | | | | | | PXE code now compiles without errors (though it won't actually work). | ||||
* | | Moved pxe_loader.c to pxe_image.c to avoid name clash | Michael Brown | 2005-05-24 | 1 | -0/+0 |
| | | |||||
* | | Rearranging PXE header files | Michael Brown | 2005-05-24 | 1 | -3/+3 |
| | | |||||
* | | Doxygenation | Michael Brown | 2005-05-20 | 1 | -1/+15 |
| | | |||||
* | | Update to cope with changes in registers.h | Michael Brown | 2005-05-20 | 9 | -45/+44 |
| | | |||||
* | | Don't use anonymous entries in a struct; it seems to aggravate gcc 3.4.3. | Michael Brown | 2005-05-20 | 1 | -8/+95 |
| | | |||||
* | | Synced across updates from Etherboot 5.4 tree | Michael Brown | 2005-05-19 | 2 | -3/+15 |
|\| | |||||
* | | Doxygenation | Michael Brown | 2005-05-19 | 1 | -4/+11 |
| | | |||||
* | | Add a const to avoid a warning | Michael Brown | 2005-05-19 | 1 | -1/+2 |
| | | |||||
* | | Added doxygen comments and errno values. | Michael Brown | 2005-05-18 | 1 | -29/+135 |
| | | |||||
* | | There is no arch/i386/firmware/linuxbios directory | Michael Brown | 2005-05-18 | 1 | -1/+1 |
|/ | |||||
* | Moved NBI support to nbi.c, modified to work with new load mechanism | Michael Brown | 2005-05-17 | 2 | -201/+306 |
| | |||||
* | First version | Michael Brown | 2005-05-17 | 1 | -0/+7 |
| | |||||
* | Moved os_regs into start32.S | Michael Brown | 2005-05-17 | 1 | -1/+5 |
| | |||||
* | Added debug messages | Michael Brown | 2005-05-17 | 1 | -0/+5 |
| | |||||
* | Added copy_phys_to_phys | Michael Brown | 2005-05-17 | 1 | -0/+5 |
| | |||||
* | Added "image" directory | Michael Brown | 2005-05-17 | 1 | -0/+1 |
| | |||||
* | Use __unused instead of __used for static data structures. | Michael Brown | 2005-05-17 | 1 | -1/+1 |
| | | | | Remove compiler.h defines from osdep.h | ||||
* | Use the heap functions to allocate a load buffer. | Michael Brown | 2005-05-13 | 1 | -43/+44 |
| |