| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Fix compiler warnings that appear only on OpenBSD. | Michael Brown | 2007-12-06 | 1 | -1/+1 |
| | | |||||
| * | 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 | 2 | -51/+0![]() |
| | | | | | outside of librm.S. | ||||
| * | Real-mode code might set the direction flag, which would cause carnage. | Michael Brown | 2007-07-17 | 1 | -0/+3 |
| | | |||||
| * | Leave protected-mode return address on PM stack when issuing a | Michael Brown | 2007-01-09 | 1 | -11/+10![]() |
| | | | | | | | real_call(), rather than moving it to the RM stack and back again. This allows the real-mode function to completely destroy the stack contents, provided that it manages to return to real_call(). | ||||
| * | Don't automatically call gateA20_set() when returning from a real-mode | Michael Brown | 2007-01-04 | 1 | -5/+7 |
| | | | | | call. | ||||
| * | Towards making KEEP_IT_REAL work again. | Michael Brown | 2006-08-24 | 1 | -15/+26 |
| | | | | | | Fix bug that caused over-allocation of .text16 and .data16 memory areas by a factor of 16. | ||||
| * | Tidy up comment | Michael Brown | 2006-05-28 | 1 | -4/+5 |
| | | |||||
| * | Fixed assembly on old versions of gas | Michael Brown | 2006-05-28 | 1 | -3/+3 |
| | | |||||
| * | Documented the fact that the prefix can prot_call(main) without | Michael Brown | 2006-05-26 | 1 | -0/+9 |
| | | | | | worrying about its stack being destroyed during the Etherboot run. | ||||
| * | init_librm() and prot_call() are now real-mode far calls. | Michael Brown | 2006-05-25 | 1 | -4/+4 |
| | | | | | | install() now calls relocate(), moves the protected-mode code to the new location, and calls hide_etherboot(). | ||||
| * | Removed REAL_EXEC(); there is no longer any code using it. | Michael Brown | 2006-05-24 | 1 | -1/+1 |
| | | |||||
| * | Remove references to obsoleted REAL_CALL from documentation. | Michael Brown | 2006-05-24 | 1 | -3/+2![]() |
| | | |||||
| * | Provide access to rm_cs and rm_ds from protected-mode code. | Michael Brown | 2006-05-13 | 1 | -0/+2 |
| | | |||||
| * | (Redoing check-in lost by SourceForge's failure.) | Michael Brown | 2006-05-13 | 1 | -3/+5 |
| | | | | | | | | Use .text16.data section with "aw" attributes, to avoid section type conflicts when placing both code and data into .text16. Add __from_{text16,data16}. | ||||
| * | 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. | ||||
| * | 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 | 1 | -74/+122 |
| | | | | | | | | | | 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. | ||||
| * | Create two easy-to-use entry points in libprefix: install and | Michael Brown | 2006-05-02 | 1 | -1/+1 |
| | | | | | | install_prealloc. I *think* these will suffice for all the 16-bit prefixes. | ||||
| * | Towards a(nother) new real-mode infrastructure, in which we take | Michael Brown | 2006-05-02 | 2 | -694/+291![]() |
| | | | | | | advantage of the fact that we have to have a permanently-resident block in base memory. | ||||
| * | Move init.h to gpxe/init.h. | Michael Brown | 2006-04-30 | 1 | -1/+1 |
| | | |||||
| * | (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. | ||||
| * | Update to cope with changes in registers.h | Michael Brown | 2005-05-20 | 3 | -24/+24 |
| | | |||||
| * | Cleaner separation of functionality between post_reloc and | Michael Brown | 2005-04-11 | 1 | -14/+8![]() |
| | | | | | initialise_via_librm. | ||||
| * | initialise() doesn't take regs | Michael Brown | 2005-04-10 | 1 | -2/+2 |
| | | |||||
| * | arch_initialise() is now sufficiently generic that we may as well just | Michael Brown | 2005-04-10 | 1 | -3/+3 |
| | | | | | call it initialise() and place it in main.c. :) | ||||
| * | Heading towards a sane set of control functions | Michael Brown | 2005-04-10 | 1 | -27/+39 |
| | | |||||
| * | Make prot_call() able to transparently return via the newly installed copy | Michael Brown | 2005-04-10 | 2 | -33/+73 |
| | | | | | of librm. | ||||
| * | lgdt needs data32 prefix, otherwise it loads only 24 bits. (sgdt | Michael Brown | 2005-04-09 | 1 | -1/+1 |
| | | | | | always saves 32 bits). | ||||
| * | Add INIT_FNs to make sure that librm gets reallocated when needed. | Michael Brown | 2005-04-09 | 1 | -29/+109 |
| | | |||||
| * | Allow ourselves to be freed by basemem.c without being damaged. | Michael Brown | 2005-04-09 | 1 | -0/+16 |
| | | |||||
| * | PM function called by prot_call() should be allowed to modifying | Michael Brown | 2005-04-09 | 1 | -2/+15 |
| | | | | | registers returned to RM code. | ||||
| * | Merged mcb30-realmode-redesign back to HEAD | Michael Brown | 2005-04-08 | 4 | -0/+1021 |

