| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Guard against corruption of top half of %esp during UNDI ISR | Michael Brown | 2008-02-13 | 1 | -0/+3 |
| | | |||||
| * | Merge branch 'master' of rom.etherboot.org:/pub/scm/gpxe | Michael Brown | 2008-02-11 | 1 | -0/+2 |
| |\ | |||||
| | * | undiisr.S: save/restore upper half of %eflags | H. Peter Anvin | 2008-02-11 | 1 | -0/+2 |
| | | | | | | | | | | | | | Since we don't know what the UNDI code does, it is safest to save/restore %eflags even though the lower half of %eflags is automatically saved by the interrupt itself. | ||||
| | * | UNDI ISR: save and restore 32-bit registers | H. Peter Anvin | 2008-02-11 | 1 | -4/+7 |
| | | | | | | | | | | | | | | | | | | | | | | | As written, if the if the UNDI ISR call clobbers the upper halves of any of the GPRs (which by convention it is permitted to do, and by paranoia should be expected to do) then nothing in the interrupt handler will recover the state. Additionally, save/restore %fs and %gs out of sheer paranoia - it's a cheap enough operation, and may prevent problems due to poorly written UNDI stacks. | ||||
| * | | UNDI ISR: save and restore 32-bit registers | H. Peter Anvin | 2008-02-11 | 1 | -4/+7 |
| | | | | | | | | | | | | | | | | | | | | | | | As written, if the if the UNDI ISR call clobbers the upper halves of any of the GPRs (which by convention it is permitted to do, and by paranoia should be expected to do) then nothing in the interrupt handler will recover the state. Additionally, save/restore %fs and %gs out of sheer paranoia - it's a cheap enough operation, and may prevent problems due to poorly written UNDI stacks. | ||||
| * | | Use internal 16-bit stack for added safety. | Michael Brown | 2008-02-11 | 1 | -0/+4 |
| |/ | |||||
| * | Remove the (unused) option to override _prefix_link_addr, | Michael Brown | 2007-12-07 | 1 | -14/+4![]() |
| | | | | | | | | | | | | _textdata_link_addr, _load_addr and _max_align in the linker scripts. A bug in some versions of ld causes segfaults if the DEFINED() macro is used in a linker script *and* the -Map option to ld is present. We don't currently need to override any of these values; if we need to do so in future then the solution will probably be to always specify the values on the ld command line, and have the linker script not define them at all. | ||||
| * | Fix compiler warnings that appear only on OpenBSD. | Michael Brown | 2007-12-06 | 7 | -14/+14 |
| | | |||||
| * | Add UUID to DHCP request as option 97 (if available). | Michael Brown | 2007-11-21 | 2 | -0/+11 |
| | | |||||
| * | Added definition of a UUID and uuid_ntoa() (for debugging), and | Michael Brown | 2007-11-21 | 2 | -19/+10![]() |
| | | | | | implemented smbios_get_uuid(). | ||||
| * | Update SMBIOS internal API to be easier to use, and not to require | Michael Brown | 2007-11-21 | 2 | -101/+214 |
| | | | | | potentially exorbitant amounts of stack space. | ||||
| * | Replace "Etherboot" strings with "gPXE". | Michael Brown | 2007-11-20 | 1 | -4/+4 |
| | | |||||
| * | Allow space for the kernel's real-mode .bss. Previously we weren't | Michael Brown | 2007-11-04 | 2 | -1/+9 |
| | | | | | | allowing any space for this, which makes it surprising that bzImage loading ever worked. | ||||
| * | Add missing attribute(packed) to two structures. | Michael Brown | 2007-10-29 | 1 | -2/+2 |
| | | |||||
| * | Ensure that empty e820 regions are skipped even at the end of the | Michael Brown | 2007-10-10 | 1 | -11/+18 |
| | | | | | | | | | | memory map. (We achieve this by setting CF on the last entry if it is zero-length; this avoids the need to look ahead to see at each entry if the *next* entry would be both the last entry and zero-length). This fixes the "0kB base memory" error message upon starting Windows 2003 on a SunFire X2100. | ||||
| * | Redefine bzimage_exec_context::mem_limit to be the highest permissible | Michael Brown | 2007-09-28 | 1 | -3/+4 |
| | | | | | | | | | | | | byte, rather than the number of permissible bytes (i.e. subtract one from the value under the previous definition to get the value under the new definition). This avoids integer overflow on 64-bit kernels, where bzhdr.initrd_addr_max may be 0xffffffffffffffff; under the old behaviour we set mem_limit equal to initrd_addr_max+1, which meant it ended up as zero. Kernel loads would fail with ENOBUFS. | ||||
| * | Switch rm_ss and rm_sp back to being words; it'll make it less | Michael Brown | 2007-09-25 | 1 | -7/+7 |
| | | | | | confusing to read the code. | ||||
| * | Don't use the "rep ss movsb" trick to copy the RM stack to the PM | Michael Brown | 2007-09-25 | 1 | -31/+34 |
| | | | | | stack; it breaks vmxassist. | ||||
| * | rm_ss, rm_sp, and pm_esp don't need to be accessed from anywhere | Michael Brown | 2007-09-25 | 3 | -54/+0![]() |
| | | | | | outside of librm.S. | ||||
| * | Minor refactoring to eliminate duplication. | Michael Brown | 2007-09-25 | 1 | -49/+39![]() |
| | | |||||
| * | Use full protected mode for access to high memory within prefix, to | Michael Brown | 2007-09-25 | 1 | -169/+237 |
| | | | | | | work around limitations in real-mode virtualisation support on Intel VT-capable chips. | ||||
| * | Added more verbose memory-map debugging. | Michael Brown | 2007-09-21 | 2 | -11/+43 |
| | | | | | | Added redundant call to get_memmap() in int13_boot() immediately before jumping to boot sector, to assist in debugging. | ||||
| * | Add const attribute to byte-swapping functions | Michael Brown | 2007-09-21 | 1 | -3/+3 |
| | | |||||
| * | Added missing .kpxe prefix. | Michael Brown | 2007-09-06 | 1 | -0/+1 |
| | | |||||
| * | Auto-assign drive number only if set to 0xff; almost all applications | Michael Brown | 2007-08-23 | 1 | -2/+3 |
| | | | | | require that we use drive 0x80, so it should probably be the default. | ||||
| * | Separate out arch-independent parts of stdint.h | Michael Brown | 2007-08-17 | 1 | -21/+3![]() |
| | | |||||
| * | Add PXE FILE API. | Michael Brown | 2007-08-04 | 1 | -0/+25 |
| | | |||||
| * | Place multiboot command lines in base memory; Xen won't pick them up | Michael Brown | 2007-08-03 | 1 | -36/+69 |
| | | | | | otherwise. :( | ||||
| * | Allow images to hold references to the originating URI. | Michael Brown | 2007-08-02 | 2 | -3/+8 |
| | | | | | Some shuffling around of the image management code; this needs tidying up. | ||||
| * | Allowed zero-cost enforced ordering of features in startup banner | Michael Brown | 2007-08-02 | 4 | -0/+12 |
| | | | | | | | list. Added FEATURE() macros to most relevant (non-driver) files. | ||||
| * | remove old minorversion!=4 check (added -march a second time) | Holger Lubitz | 2007-08-02 | 1 | -4/+0![]() |
| | | |||||
| * | remove x86_64 comments from arch specific Config | Holger Lubitz | 2007-08-02 | 1 | -5/+0![]() |
| | | | | | options are in main makefile now | ||||
| * | Add code for constructing single-file cpio archives on the fly | Michael Brown | 2007-08-02 | 1 | -30/+75 |
| | | |||||
| * | Initrd concatenation now working | Michael Brown | 2007-08-01 | 1 | -2/+3 |
| | | |||||
| * | Allow loading of multiple initramfs images. | Michael Brown | 2007-07-31 | 1 | -50/+61 |
| | | |||||
| * | Centralise construction of the DHCP request and response packets. | Michael Brown | 2007-07-31 | 1 | -7/+4![]() |
| | | |||||
| * | Import various libgcc functions from syslinux. | Michael Brown | 2007-07-30 | 1 | -336/+0![]() |
| | | | | | | | | | | | Experimentation reveals that gcc ignores -mrtd for the implicit arithmetic functions (e.g. __udivdi3), but not for the implicit memcpy() and memset() functions. Mark the implicit arithmetic functions with __attribute__((cdecl)) to compensate for this. (Note: we cannot mark with with __cdecl, because we define __cdecl to incorporate regparm(0) as well.) | ||||
| * | GCC's optimiser seems to screw up if this is left static... | Michael Brown | 2007-07-30 | 1 | -1/+1 |
| | | |||||
| * | Don't rely on retry.c's periodically calling currticks() in order to | Michael Brown | 2007-07-29 | 1 | -1/+7 |
| | | | | | allow the UNDI NIC interrupt to happen. | ||||
| * | Applied a modified version of holger's regparm patches. | Michael Brown | 2007-07-29 | 4 | -4/+16 |
| | | |||||
| * | Revert "make __udivmoddi4 static" - gcc links to it implicitly | Holger Lubitz | 2007-07-28 | 1 | -1/+1 |
| | | | | | This reverts commit 9e7b165017afe1ba82c29d9e914ae85f6f2798c6. | ||||
| * | make multiboot_load static | Holger Lubitz | 2007-07-27 | 1 | -1/+1 |
| | | |||||
| * | make nbi_load static | Holger Lubitz | 2007-07-27 | 1 | -1/+1 |
| | | |||||
| * | make eltorito_load static | Holger Lubitz | 2007-07-27 | 1 | -1/+1 |
| | | |||||
| * | make __udivmoddi4 static | Holger Lubitz | 2007-07-27 | 1 | -1/+1 |
| | | |||||
| * | Don't overwrite %dl with a (potentially) modified drive number if we | Michael Brown | 2007-07-25 | 1 | -1/+1 |
| | | | | | already handled the INT13 call. | ||||
| * | We probably shouldn't leave interrupts disabled when starting an OS. | Michael Brown | 2007-07-25 | 1 | -0/+1 |
| | | |||||
| * | Add per-file error identifiers | Michael Brown | 2007-07-24 | 1 | -0/+31 |
| | | |||||
| * | Remove some obsolete sections of librm.h and libkir.h. | Michael Brown | 2007-07-24 | 2 | -39/+25![]() |
| | | | | | Add some of the missing parts to libkir.h. | ||||
| * | Minor debug improvement | Michael Brown | 2007-07-19 | 1 | -1/+2 |
| | | |||||

