cvs commit: src/sys/boot/i386/btx/btx btx.S
John Baldwin
jhb at FreeBSD.org
Thu Oct 5 08:30:52 PDT 2006
jhb 2006-10-05 15:30:51 UTC
FreeBSD src repository
Modified files:
sys/boot/i386/btx/btx btx.S
Log:
- Fix a couple of improper uses of leal in the previous space saving
commits. For some reason I thought the scale factor was a shift count
rather than the multiplicand (that is, I thought leal (%eax,%edx,4) was
going to generate %eax + %edx << 4 rather than %eax + %edx * 4). What
I need is to multiply by 16 to convert a real-mode (seg, offset) tuple
into a flat address. However, the max multiplicand for scaled/index
addressing on i386 is 8, so go back to using a shl and an add.
- Convert two more inter-register mov instructions where we don't need to
preserve the source register to xchg instructions to keep our space
savings.
Tested by: Ian FREISLICH if at hetzner.co.za
MFC after: 1 week
Revision Changes Path
1.43 +7 -5 src/sys/boot/i386/btx/btx/btx.S
More information about the cvs-src
mailing list