summaryrefslogtreecommitdiffstats
path: root/src/arch
Commit message (Collapse)AuthorAgeFilesLines
* (Redoing check-in lost by SourceForge's failure.)Michael Brown2006-05-131-11/+21
| | | | Avoid optimisation errors under -fstrict-aliasing.
* Preserve the whole of %esp across prot_call(). We have to split thisMichael Brown2006-05-061-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. ChainedMichael Brown2006-05-063-2/+16
| | | | | interrupt vectors, for example, will be easiest to handle if placed in .text16.
* Preserve GDT across prot_call().Michael Brown2006-05-061-6/+12
|
* This line should not have been checked inMichael Brown2006-05-051-1/+0Star
|
* Add infrastructure to support access to .data16 (and .text16) variablesMichael Brown2006-05-052-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 inMichael Brown2006-05-043-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-zeroableMichael Brown2006-05-021-3/+0Star
| | | | | | | 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.
* TypoMichael Brown2006-05-021-2/+2
|
* Create two easy-to-use entry points in libprefix: install andMichael Brown2006-05-024-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 Brown2006-05-021-3/+1Star
| | | | | 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 takeMichael Brown2006-05-029-1177/+460Star
| | | | | 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 inMichael Brown2006-05-022-9/+13
| | | | setup.S.
* Verified as workingMichael Brown2006-05-021-6/+9
|
* This should be much more elegant: we use flat real mode for theMichael Brown2006-05-021-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 forMichael Brown2006-05-011-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 Brown2006-04-301-0/+2
|
* Move init.h to gpxe/init.h.Michael Brown2006-04-307-7/+7
|
* Gave up on adding POSIX errno's as required, and just added (almost) allMichael Brown2006-04-281-15/+15
| | | | | | of them in one go. EBADIMG has been replaced by ENOEXEC, and EIMGRET by ECANCELED.
* Added missing ssize_tMichael Brown2006-04-251-0/+1
|
* gcc is rather over-aggressive about optimising out static data structuresMichael Brown2006-04-244-8/+8
| | | | even when __atribute__ (( unused )) is correctly set...
* (librm_base-1b) is already an offset; no need to apply OFFSET().Michael Brown2006-04-241-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 Brown2006-04-244-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 Brown2006-04-241-12/+135
| | | | Added memswap().
* They can come back when they have someone to support them.Michael Brown2006-03-1789-8563/+0Star
|
* Prefix semantics have changedMichael Brown2006-03-161-0/+5
|
* Merge from Etherboot 5.4Michael Brown2006-03-161-1/+2
|\
* | Merge from Etherboot 5.4Michael Brown2006-03-162-18/+83
|\|
* | Merge from Etherboot 5.4Michael Brown2006-03-163-1/+301
|\|
* | Fix up building with gcc 4.0.1 / gas 2.16.91Michael Brown2006-01-172-4/+4
| |
* | Some versions of doxygen seem to object to "@ret None" or similar.Michael Brown2005-05-241-2/+2
| |
* | Fixes for gcc >= 3.2 from Georg BaumMichael Brown2005-05-243-7/+7
| |
* | Split PXE code into preboot, udp, tftp, undi and loader units.Michael Brown2005-05-243-24/+5Star
| | | | | | | | PXE code now compiles without errors (though it won't actually work).
* | Moved pxe_loader.c to pxe_image.c to avoid name clashMichael Brown2005-05-241-0/+0
| |
* | Rearranging PXE header filesMichael Brown2005-05-241-3/+3
| |
* | DoxygenationMichael Brown2005-05-201-1/+15
| |
* | Update to cope with changes in registers.hMichael Brown2005-05-209-45/+44Star
| |
* | Don't use anonymous entries in a struct; it seems to aggravate gcc 3.4.3.Michael Brown2005-05-201-8/+95
| |
* | Synced across updates from Etherboot 5.4 treeMichael Brown2005-05-1910-197/+279
|\|
* | DoxygenationMichael Brown2005-05-191-4/+11
| |
* | Add a const to avoid a warningMichael Brown2005-05-191-1/+2
| |
* | Added doxygen comments and errno values.Michael Brown2005-05-181-29/+135
| |
* | There is no arch/i386/firmware/linuxbios directoryMichael Brown2005-05-181-1/+1
|/
* Moved NBI support to nbi.c, modified to work with new load mechanismMichael Brown2005-05-172-201/+306
|
* First versionMichael Brown2005-05-171-0/+7
|
* Moved os_regs into start32.SMichael Brown2005-05-171-1/+5
|
* Added debug messagesMichael Brown2005-05-171-0/+5
|
* Added copy_phys_to_physMichael Brown2005-05-171-0/+5
|
* Added "image" directoryMichael Brown2005-05-171-0/+1
|
* Use __unused instead of __used for static data structures.Michael Brown2005-05-171-1/+1
| | | | Remove compiler.h defines from osdep.h