path: root/bcopy32.inc
Commit message (Collapse)AuthorAgeFilesLines
* Move files out of root into core, dos, and utilsH. Peter Anvin2008-05-291-633/+0
| | | | | | | | Move source files out of the root directory; the root is a mess and has become virtually unmaintainable. The Syslinux core now lives in core/; the Linux and generic utilities has moved into utils/, and copybs.com has moved into dos/; it had to go somewhere, and it seemed as good a place as any.
* Whitespace cleanup...syslinux-3.62-pre11H. Peter Anvin2008-02-191-1/+1
* Don't close the A20 gate; leave it openH. Peter Anvin2008-02-151-1/+8
| | | | | | Don't close the A20 gate (restore to previous state); leave it open. This is good for performance, but also avoids a nasty race condition when leaving protected mode to then quickly re-enter protected mode.
* Slightly simpler to use interface to simple_pm_callH. Peter Anvin2008-02-151-10/+17
| | | | | Clean up the interface to simple_pm_call so we generally can avoid a bunch of push/call/pop/ret boilerplate.
* bcopy32: refactor the bcopy routine to be able to reuse the pm partH. Peter Anvin2008-02-151-46/+82
| | | | | | | | | Refactor the bcopy routine to be able to reuse the pm entry and exit portion to call other "simple" protected-mode routines ("simple" in the sense that no interrupt thunking support is present or expected.) Note: consider whether or not it would be preferrable to move the thunking support into low memory and have it be always present.
* Update copyright yearH. Peter Anvin2008-01-101-1/+1
* Fix incorrect handling of overlapping memory areas in bcopy32syslinux-3.55-pre3H. Peter Anvin2008-01-031-2/+2
| | | | | | bcopy32 had the test for forwards vs. backwards copy backwards, which of course resulted in disaster when memory areas actually overlapped themselves.
* Stealth whitespace cleanupH. Peter Anvin2007-12-121-1/+1
* In 32-bit mode, "xor eax,eax" is shorter than "xor ax,ax"H. Peter Anvin2007-11-091-1/+1
| | | | | For 32-bit code, 32-bit operations are shorter than 16-bit operations, so use them.
* Typo cleanupH. Peter Anvin2007-11-071-1/+1
* Clean up the transition to PM for shuffle-and-boot-to-PMH. Peter Anvin2007-11-061-4/+12
| | | | | Clean up the transition to PM for shuffle-and-boot-to-PM, and set LDTR and TR to keep Intel VT happy.
* Setting cr0 requires a jmp to synchronize on 386/486H. Peter Anvin2007-11-041-1/+2
| | | | | | | | | The 386 and 486 requires a jmp after any setting of cr0. It can be a near jmp, but those processors do not correctly synchronize without it. We have jmps after setting cr0 in all spots except one, so make that happen correctly.
* Code cleanup: get rid of hard-coded descriptor numbersH. Peter Anvin2007-11-011-10/+24
| | | | | | Get rid of hard-coded descriptor numbers, and instead use symbolic names for the descriptors derived from the calculated offset in the GDT.
* Mark TSS unbusy before protected mode entryH. Peter Anvin2007-10-111-0/+3
| | | | | The LTR instruction marks the TSS descriptor busy, and any subsequent attempt to load it will #GP unless maked unbusy first. Sigh.
* Set TR and LDTR when entering protected modeH. Peter Anvin2007-10-111-7/+26
| | | | | | Intel's VT daftly requires TR and LDTR to have valid protected-mode values in order to kick in. Thus, give it at least a valid chunk of memory for the TR and a null selector for the LDTR.
* Move most messages into the appropriate .inc filesH. Peter Anvin2007-06-201-0/+5
* Support chaining shuffle descriptors when buffer is too smallsyslinux-3.50-pre1H. Peter Anvin2007-03-301-1/+20
| | | | | | | Provide a method for re-loading shuffle descriptors from a buffer in high memory when the shuffle descriptors are too many to fit in the buffer. This can happen when trying to stitch an initramfs together from parts. Still need library support for this, however.
* Stealth whitespace cleanup (automated)H. Peter Anvin2007-03-141-3/+3
* Add a register-setting shuffle and boot for real mode; clean up headers.syslinux-3.40-pre14H. Peter Anvin2007-03-141-2/+8
| | | | | - Add an API function to shuffle and boot which sets *all* RM registers; - Move those structures to <syslinux/bootpm.h> and <syslinux/bootrm.h>
* Add support for using a shuffle descriptor to bzero rather than bcopyH. Peter Anvin2007-03-131-6/+36
| | | | When source address is set to -1, do a bzero instead of a bcopy.
* New API call: cleanup, shuffle and boot to flat protected modeH. Peter Anvin2007-03-111-2/+24
| | | | Add an API call to invoke flat protected mode; e.g. to boot an ELF kernel.
* Remove CVS-era $Id$ tags.H. Peter Anvin2006-08-171-1/+0
* When exiting a COMBOOT/COM32 module, reset the stack instead of savingH. Peter Anvin2006-08-171-1/+0
| | | | and restoring it. The former option left crap on the stack.
* Across-the-board stealth whitespace cleanupH. Peter Anvin2006-05-031-5/+5
* Commit 3.10 changes to mainline. In particular, support multi-filehpa2005-01-061-25/+61
| | | | initrd, and the shuffle and boot API.
* Fix pxelinux relocation; work around infinite loop in pxelinux mangle_namehpa2004-12-281-2/+8
* Use skip of 2 for the magic A20 numbershpa2004-12-271-6/+5
* More work on using sections for memory alignment. Make bcopy32 alwayshpa2004-12-271-65/+23
| | | | | live in low memory so we don't have to do a bunch on-the-fly relocation, and produce map files.
* Reorganize memory slightly; split .bss into .bss and .earlybss andhpa2004-12-271-2/+5
| | | | | move its base down to 0800h; relocate pxelinux since it needs copious amounts of bss.
* Fix the use of MAC handling in pxelinux; fix copy_over_selfsyslinux-2.20-pre4hpa2004-12-171-2/+2
* Actually use sections, and move common variables into the .inc files.syslinux-2.20-pre3hpa2004-12-171-1/+10
| | | | | The .bss section at the beginning of each .asm file is now downright tiny.
* Move the .bss to a separate section so we can at least begin to movehpa2004-12-171-2/+2
| | | | bss variables near the code where they're defined
* Fix the spelling of "Boston"hpa2004-12-141-1/+1
* Fix bugs in chainloading other NBPs from pxelinuxsyslinux-2.07-pre7hpa2003-11-181-2/+2
* Add an API for COMBOOT images, and add support for "COM32" -- 32-bithpa2002-06-111-0/+5
| | | | linear .com files.
* Remove some redundant move-via-register of segmentshpa2002-06-071-2/+1
* Factor out CPU initialization and some common configuration intosyslinux-1.73-pre6hpa2002-04-281-18/+21
| | | | separate files; fix bcopy bugs.
* Make the setup of the bootup entry state saner.hpa2002-04-281-13/+6
* Generalize and factor out bootsector-generation code.syslinux-1.73-pre5hpa2002-04-281-9/+42
* More factoring of common codehpa2002-04-271-0/+414