Jan Beulich
2006-Feb-15 15:54 UTC
[Xen-devel] [PATCH] i386 linux: eliminate hard coded items from __xen_guest section
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. Jan _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Jan Beulich
2006-Feb-17 10:40 UTC
[Xen-devel] [PATCH, updated] i386 linux: eliminate hard coded items from __xen_guest section
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. Jan _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Christian Limpach
2006-Feb-20 16:04 UTC
Re: [Xen-devel] [PATCH, updated] i386 linux: eliminate hard coded items from __xen_guest section
On 2/17/06, Jan Beulich <JBeulich@novell.com> 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@lists.xensource.com http://lists.xensource.com/xen-devel
Jan Beulich
2006-Feb-20 16:15 UTC
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@gmail.com 20.02.06 17:04:35 >>>On 2/17/06, Jan Beulich <JBeulich@novell.com> 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 tofix> 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@lists.xensource.com http://lists.xensource.com/xen-devel
Christian Limpach
2006-Feb-20 16:51 UTC
Re: [Xen-devel] [PATCH, updated] i386 linux: eliminate hard coded items from __xen_guest section
On Mon, Feb 20, 2006 at 05:15:44PM +0100, Jan Beulich wrote:> Hmm, I would assume your assembler then only does 32-bit calculations. In that case (if such assemblers still exist),It''s the one from Fedora Core 3, running in a 32bit chroot on a 64bit machine (also FC3).> I''d rather want to use the same macro as on 64-bits, where a similar problem needed to be worked around. JanIndeed, I''ve changed it accordingly. christian _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel