Message ID | 20091013212912.GA11529@triton8.kn-bremen.de |
---|---|
State | New |
Headers | show |
On 10/13/2009 11:29 PM, Juergen Lock wrote:
> + .dc.b 0x26,0x67,0x66,0x89,0x4f,0xfc
If anything, this would be easier to read:
.dc.b 0x26 /* %es: prefix for old as(1) */
movl %ecx, -4(%edi)
Paolo
On Wed, Oct 14, 2009 at 04:29:32PM +0200, Paolo Bonzini wrote: > On 10/13/2009 11:29 PM, Juergen Lock wrote: > > + .dc.b 0x26,0x67,0x66,0x89,0x4f,0xfc > > If anything, this would be easier to read: > > .dc.b 0x26 /* %es: prefix for old as(1) */ > movl %ecx, -4(%edi) > I like the idea, but unfortunately old as (2.15) doesnt, it still says: Error: `-4(%edi)' is not a valid 16 bit base/index expression :(, Juergen
--- a/pc-bios/optionrom/multiboot.S +++ b/pc-bios/optionrom/multiboot.S @@ -113,7 +113,10 @@ mmap_loop: /* entry size (mmap struct) & max buffer size (int15) */ movl $20, %ecx /* store entry size */ + /* old as(1) doesn't like this insn so emit the bytes instead: movl %ecx, %es:-4(%edi) + */ + .dc.b 0x26,0x67,0x66,0x89,0x4f,0xfc /* e820 */ movl $0x0000e820, %eax /* 'SMAP' magic */