[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH, updated] i386 linux: eliminate hard coded items from __xen_guest section
Hmm, I would assume your assembler then only does 32-bit calculations. In that case (if such assemblers still exist), I'd rather want to use the same macro as on 64-bits, where a similar problem needed to be worked around. Jan >>> christian.limpach@xxxxxxxxx 20.02.06 17:04:35 >>> On 2/17/06, Jan Beulich <JBeulich@xxxxxxxxxx> wrote: > To allow the new VMSPLIT_* Kconfig options to work, and to avoid problems > when the position of the hypercall page > changes, this patch eliminates the hard-coded entries in the __xen_guest > section in head.S. > Unfortunately the original version didn't work with gas newer than beginning > of August 2005, where in an attempt to fix > another problem a regression was introduced. The calculation doesn't seem to work on 32-bit for PAGE_OFFSET >= 2^31, at least not with: cl349@firebug:~/ls/xen-unstable-clean.hg$ as --version GNU assembler 2.15.92.0.2 20040927 I'll checkin the following: .macro bigutoa value utoa (\value) >> 12 .ascii "000" .endm .macro utoa value .if (\value) >= 16 utoa (\value) >> 4 .endif .if (\value) % 16 < 10 .byte '0' + (\value) % 16 .else .byte 'A' + (\value) % 16 - 10 .endif .endm .section __xen_guest .ascii "GUEST_OS=linux,GUEST_VER=2.6" .ascii ",XEN_VER=xen-3.0" .ascii ",VIRT_BASE=0x"; bigutoa __PAGE_OFFSET .ascii ",HYPERCALL_PAGE=0x"; utoa ((__PHYSICAL_START+HYPERCALL_PAGE_OFFSET)>>PAGE_SHIFT) It's a bit gross, maybe there's a neater solution. christian _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |