[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] Re: "x86-64: EFI boot code" breaks 32-bit build



>>> On 28.06.11 at 13:05, Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx> wrote:
> cc1: warnings being treated as errors
> mpparse.c: In function 'efi_check_config':
> mpparse.c:669: error: format '%08llx' expects type 'long long unsigned int', 
> but argument 2 has type 'long unsigned int'
> 
> In xen/include/xen/efi.h:
> 23616:     unsigned long mps;          /* MPS table */
> 
> In xen/arch/x86/mpparse.c (line 669):
> 23616:          printk(KERN_INFO "SMP MP-table at %08"PRIx64"\n", efi.mps);
> 
> Should mps be uint64_t ?  What about the other fields in struct efi ?

On 32-bit all code protected by a check of efi_enabled will simply
get compiled out. Hence no point in making the fields uint64_t.
Hence the simplest possible fix would be as below.

Jan

*****************************************************

Subject: x86-32: compilation fix after c/s 23616:dffcd8b4c197

Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>

--- a/xen/arch/x86/mpparse.c
+++ b/xen/arch/x86/mpparse.c
@@ -666,7 +666,7 @@ static void __init efi_check_config(
            mpf_checksum((void *)mpf, 16) &&
            (mpf->mpf_specification == 1 || mpf->mpf_specification == 4)) {
                smp_found_config = 1;
-               printk(KERN_INFO "SMP MP-table at %08"PRIx64"\n", efi.mps);
+               printk(KERN_INFO "SMP MP-table at %08lx\n", efi.mps);
                mpf_found = mpf;
        }
        else



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.