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

RE: [Xen-devel] PAE mode errors: in shadow.c



Keir Fraser wrote:
> You probably just need to 'make clean' before you 'pae=y make'.
> 
>   -- Keir

Yes. If you build just xen, you need 'pae=y' (or export pae=y) as well as 
XEN_TARGET_X86_PAE. 

Jun
> 
> On 5 May 2006, at 11:41, pak333@xxxxxxxxxxx wrote:
> 
>> 
>> Looks like the file shadow.c has not been updated to support PAE
>> thought it says "Extended to support 32-bit PAE and 64-bit guests"
>> at the beginning of the file If anyone has a pacth for this, please
>> share with me 
>> 
>> Thanks
>> - Padma
>>> -------------- Original message --------------
>>> From: pak333@xxxxxxxxxxx
>>> 
>>> Maybe the attachment isn't going thru. here are the errors
>>> --------------------------- make -C xen install
>>> 
>>> 
>>> make[1]: Entering directory `/home/xen-unstable/xen'
>>> 
>>> make -C tools
>>> 
>>> make[2]: Entering directory `/home/xen-unstable/xen/tools'
>>> 
>>> make -C figlet
>>> 
>>> make[3]: Entering directory `/home/xen-unstable/xen/tools/figlet'
>>> 
>>> make[3]: `figlet' is up to date.
>>> 
>>> make[3]: Leaving directory `/home/xen-unstable/xen/tools/figlet'
>>> 
>>> make symbols
>>> 
>>> make[3]: Entering directory `/home/xen-unstable/xen/tools'
>>> 
>>> make[3]: `symbols' is up to date.
>>> 
>>> make[3]: Leaving directory `/home/xen-unstable/xen/tools'
>>> 
>>> make[2]: Leaving directory `/home/xen-unstable/xen/tools'
>>> 
>>> make include/xen/compile.h
>>> 
>>> make[2]: Entering directory `/home/xen-unstable/xen'
>>> 
>>> tools/figlet/figlet -d tools/figlet Xen 3.0.0 >
>>> include/xen/banner.h.new
>>> 
>>> __ __ _____ ___ ___
>>> 
>>> \ \/ /___ _ __ |___ / / _ \ / _ \
>>> 
>>> \ // _ \ '_ \ |_ \| | | | | | |
>>> 
>>> / \ __/ | | | ___) | |_| | |_| |
>>> 
>>> /_/\_\___|_| |_| |____(_)___(_)___/
>>> 
>>> make[2]: Leaving directory `/home/xen-unstable/xen'
>>> 
>>> make include/xen/acm_policy.h
>>> 
>>> make[2]: Entering directory `/home/xen-unstable/xen'
>>> 
>>> make[2]: `include/xen/acm_policy.h' is up to date.
>>> 
>>> make[2]: Leaving directory `/home/xen-unstable/xen'
>>> 
>>> [ -e include/asm ] || ln -sf asm-x86 include/asm
>>> 
>>> make -C arch/x86 asm-offsets.s
>>> 
>>> make[2]: Entering directory `/home/xen-unstable/xen/arch/x86'
>>> 
>>> make[2]: `asm-offsets.s' is up to date.
>>> 
>>> make[2]: Leaving directory `/home/xen-unstable/xen/arch/x86'
>>> 
>>> make include/asm-x86/asm-offsets.h
>>> 
>>> make[2]: Entering directory `/home/xen-unstable/xen'
>>> 
>>> make[2]: `include/asm-x86/asm-offsets.h' is up to date.
>>> 
>>> make[2]: Leaving directory `/home/xen-unstable/xen'
>>> 
>>> make -C common
>>> 
>>> make[2]: Entering directory `/home/xen-unstable/xen/common'
>>> 
>>> gcc -Wdeclaration-after-statement -nostdinc -fno-builtin -fno-common
>>> -fno-strict-aliasing -iwithprefix include -Wall -Werror
>>> -Wno-pointer-arith -pipe -I/home/xen-unstable/xen/include
>>> -I/home/xen-unstable/xen/include/asm-x86/mach-generic
>>> -I/home/xen-unstable/xen/include/asm-x86/mach-default -O3
>>> -fomit-frame-pointer -msoft-float -m32 -march=i686 -DNDEBUG -c
>>> kernel.c -o kernel.o 
>>> 
>>> ld -m elf_i386 -r -o common.o acm_ops.o ac_timer.o bitmap.o
>>> dom0_ops.o domain.o elf.o event_channel.o grant_table.o kernel.o
>>> keyhandler.o lib.o memory.o multicall.o page_alloc.o sched_bvt.o
>>> sched_sedf.o schedule.o softirq.o string.o symbols.o trace.o
>>> vsprintf.o xmalloc.o 
>>> 
>>> make[2]: Leaving directory `/home/xen-unstable/xen/common'
>>> 
>>> make -C drivers
>>> 
>>> make[2]: Entering directory `/home/xen-unstable/xen/drivers'
>>> 
>>> make -C char
>>> 
>>> make[3]: Entering directory `/home/xen-unstable/xen/drivers/char'
>>> 
>>> gcc -Wdeclaration-after-statement -nostdinc -fno-builtin -fno-common
>>> -fno-strict-aliasing -iwithprefix include -Wall -Werror
>>> -Wno-pointer-arith -pipe -I/home/xen-unstable/xen/include
>>> -I/home/xen-unstable/xen/include/asm-x86/mach-generic
>>> -I/home/xen-unstable/xen/include/asm-x86/mach-default -O3
>>> -fomit-frame-pointer -msoft-float -m32 -march=i686 -DNDEBUG -c
>>> console.c -o console.o 
>>> 
>>> ld -m elf_i386 -r -o driver.o console.o ns16550.o serial.o
>>> 
>>> make[3]: Leaving directory `/home/xen-unstable/xen/drivers/char'
>>> 
>>> make -C acpi
>>> 
>>> make[3]: Entering directory `/home/xen-unstable/xen/drivers/acpi'
>>> 
>>> make[3]: Nothing to be done for `default'.
>>> 
>>> make[3]: Leaving directory `/home/xen-unstable/xen/drivers/acpi'
>>> 
>>> make[2]: Leaving directory `/home/xen-unstable/xen/drivers'
>>> 
>>> make -C arch/x86
>>> 
>>> make[2]: Entering directory `/home/xen-unstable/xen/arch/x86'
>>> 
>>> gcc -Wdeclaration-after-statement -nostdinc -fno-builtin -fno-common
>>> -fno-strict-aliasing -iwithprefix include -Wall -Werror
>>> -Wno-pointer-arith -pipe -I/home/xen-unstable/xen/include
>>> -I/home/xen-unstable/xen/include/asm-x86/mach-generic
>>> -I/home/xen-unstable/xen/include/asm-x86/mach-default -O3
>>> -fomit-frame-pointer -msoft-float -m32 -march=i686 -DNDEBUG -c
>>> shadow.c -o shadow.o 
>>> 
>>> In file included from shadow.c:37:
>>> 
>>> /home/xen-unstable/xen/include/asm/shado L2_PAGETABLE_SHIFTw_64.h:
>>> In function `table_offset_64': 
>>> 
>>> /home/xen-unstable/xen/include/asm/shadow_64.h:105: error:
>>> `L3_PAGETABLE_SHIFT' undeclared (first use in this function)
>>> 
>>> /home/xen-unstable/xen/include/asm/shadow_64.h:105: error: (Each
>>> undeclared identifier is reported only once
>>> 
>>> /home/xen-unstable/xen/include/asm/shadow_64.h:105: error: for each
>>> function it appears in.) 
>>> 
>>> /home/xen-unstable/xen/include/asm/shadow_64.h:105: error:
>>> `L3_PAGETABLE_ENTRIES' undeclared (first use in this function)
>>> 
>>> /home/xen-unstable/xen/include/asm/shadow_64.h: In function
>>> `free_out_of_sync_state': 
>>> 
>>> /home/xen-unstable/xen/include/asm/shadow_64.h:137: warning:
>>> implicit declaration of function `release_out_of_sync_entry'
>>> 
>>> /home/xen-unstable/xen/include/asm/shadow_64.h: In function
>>> `__entry': 
>>> 
>>> /home/xen-unstable/xen/include/asm/shadow_64.h:164: error:
>>> dereferencing pointer to incomplete type
>>> 
>>> /home/xen-unstable/xen/include/asm/shadow_64.h: At top level:
>>> 
>>> /home/xen-unstable/xen/include/asm/shadow_64.h:239: error:
>>> conflicting types for '__guest_set_l2e'
>>> 
>>> /home/xen-unstable/xen/include/asm/shadow.h:545: error: previous
>>> definition of '__guest_set_l2e' was here
>>> 
>>> /home/xen-unstable/xen/include/asm/shadow_64.h:265: error:
>>> conflicting types for '__guest_get_l2e'
>>> 
>>> /home/xen-unstable/xen/include/asm/shadow.h:538: error: previous
>>> definition of '__guest_get_l2e' was here
>>> 
>>> /home/xen-unstable/xen/include/asm/shadow_64.h: In function
>>> `entry_general': 
>>> 
>>> /home/xen-unstable/xen/include/asm/shadow_64.h:397: error:
>>> dereferencing pointer to incomplete type
>>> 
>>> shadow.c: In function `alloc_shadow_page':
>>> 
>>> shadow.c:226: error: dereferencing pointer to incomplete type
>>> 
>>> shadow.c:381: error: dereferencing pointer to incomplete type
>>> 
>>> shadow.c: At top level:
>>> 
>>> shadow.c:547: warning: static declaration of
>>> 'shadow_map_l1_into_current_l2' follows non-static declaration
>>> 
>>> /home/xen-unstable/xen/include/asm/shadow.h:1521: warning: previous
>>> declaration of 'shadow_map_l1_into_current_l2' was here
>>> 
>>> shadow.c:684: error: redefinition of 'shadow_set_l1e'
>>> 
>>> /home/xen-unstable/xen/include/asm/shadow.h:1525: error: previous
>>> definition of 'shadow_set_l1e' was here
>>> 
>>> shadow.c:1026: warning: static declaration of
>>> 'shadow_mark_va_out_of_sync' follows non-static declaration
>>> 
>>> /home/xen-unstable/xen/include/asm/shadow.h:745: warning: previous
>>> declaration of 'shadow_mark_va_out_of_sync' was here
>>> 
>>> shadow.c: In function `remove_all_write_access':
>>> 
>>> shadow.c:1387: warning: implicit declaration of function
>>> `MFN_PINNED' 
>>> 
>>> shadow.c: In function `resync_all':
>>> 
>>> shadow.c:1549: error: dereferencing pointer to incomplete type
>>> 
>>> shadow.c:1583: warning: ISO C90 forbids mixed declarations and code
>>> 
>>> shadow.c:1626: warning: ISO C90 forbids mixed declarations and code
>>> 
>>> shadow.c: In function `sync_all':
>>> 
>>> shadow.c:1810: error: dereferencing pointer to incomplete type
>>> 
>>> shadow.c: At top level:
>>> 
>>> shadow.c:1839: error: redefinition of 'l1pte_write_fault'
>>> 
>>> /home/xen-unstable/xen/include/asm/shadow.h:750: error: previous
>>> definition of 'l1pte_write_fault' was here
>>> 
>>> shadow.c:1875: error: redefinition of 'l1pte_read_fault'
>>> 
>>> /home/xen-unstable/xen/include/asm/shadow.h:786: error: previous
>>> definition of 'l1pte_read_fault' was here
>>> 
>>> shadow.c:3590: error: variable `MODE_A_HANDLER' has initializer but
>>> incomplete type 
>>> 
>>> shadow.c:3591: error: unknown field `guest_paging_levels' specified
>>> in initializer 
>>> 
>>> shadow.c:3591: warning: excess elements in struct initializer
>>> 
>>> shadow.c:3591: warning: (near initialization for `MODE_A_HANDLER')
>>> 
>>> shadow.c:3592: error: unknown field `invlpg' specified in
>>> initializer 
>>> 
>>> shadow.c:3592: warning: excess elements in struct initializer
>>> 
>>> shadow.c:3592: warning: (near initialization for `MODE_A_HANDLER')
>>> 
>>> shadow.c:3593: error: unknown field `fault' specified in initializer
>>> 
>>> shadow.c:3593: warning: excess elements in struct initializer
>>> 
>>> shadow.c:3593: warning: (near initialization for `MODE_A_HANDLER')
>>> 
>>> shadow.c:3594: error: unknown field `update_pagetables' specified
>>> in initializer 
>>> 
>>> shadow.c:3594: warning: excess elements in struct initializer
>>> 
>>> shadow.c:3594: warning: (near initialization for `MODE_A_HANDLER')
>>> 
>>> shadow.c:3595: error: unknown field `sync_all' specified in
>>> initializer 
>>> 
>>> shadow.c:3595: warning: excess elements in struct initializer
>>> 
>>> shadow.c:3595: warning: (near initialization for `MODE_A_HANDLER')
>>> 
>>> shadow.c:3596: error: unknown field `remove_all_write_access'
>>> specified in initializer 
>>> 
>>> shadow.c:3596: warning: excess elements in struct initializer
>>> 
>>> shadow.c:3596: warning: (near initialization for `MODE_A_HANDLER')
>>> 
>>> shadow.c:3597: error: unknown field `do_update_va_mapping'
>>> specified in initializer 
>>> 
>>> shadow.c:3597: warning: excess elements in struct initializer
>>> 
>>> shadow.c:3597: warning: (near initialization for `MODE_A_HANDLER')
>>> 
>>> shadow.c:3598: error: unknown field `mark_mfn_out_of_sync'
>>> specified in initializer 
>>> 
>>> shadow.c:3598: warning: excess elements in struct initializer
>>> 
>>> shadow.c:3598: warning: (near initialization for `MODE_A_HANDLER')
>>> 
>>> shadow.c:3599: error: unknown field `is_out_of_sync' specified in
>>> initializer 
>>> 
>>> shadow.c:3599: warning: excess elements in struct initializer
>>> 
>>> shadow.c:3599: warning: (near initialization for `MODE_A_HANDLER')
>>> 
>>> shadow.c:3600: error: unknown field `gva_to_gpa' specified in
>>> initializer 
>>> 
>>> shadow.c:3600: error: `gva_to_gpa_64' undeclared here (not in a
>>> function) 
>>> 
>>> shadow.c:3600: warning: excess elements in struct initializer
>>> 
>>> shadow.c:3600: warning: (near initialization for `MODE_A_HANDLER')
>>> 
>>> shadow.c:3590: error: storage size of `MODE_A_HANDLER' isn't known
>>> 
>>> make[2]: *** [shadow.o] Error 1
>>> 
>>> make[2]: Leaving directory `/home/xen-unstable/xen/arch/x86'
>>> 
>>> make[1]: *** [/home/xen-unstable/xen/xen] Error 2
>>> 
>>> make[1]: Leaving directory `/home/xen-unstable/xen'
>>> 
>>> make: *** [install-xen] Error 2
>>>> -------------- Original message --------------
>>>> From: pak333@xxxxxxxxxxx
>>>> Looks like the attachement did not go thru. Attached error file
>>>> again.  Let me know if you cannot see the attached file Changed
>>>> memory to 16GB and still get errros
>>>> - padma
>>>> 
>>>> 
>>>>> -------------- Original message --------------
>>>>> From: Anthony Liguori <aliguori@xxxxxxxxxx>
>>>>> 
>>>>>> pak333@xxxxxxxxxxx wrote:
>>>>>>> Thanks, I just tried this and it gives me a bunch of errors
>>>>>> 
>>>>>> Care to share those errors? :-)
>>>>>> 
>>>>>> Regards,
>>>>>> 
>>>>>> Anthony Liguori
>>>>>> 
>>>>>>> - Padma
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> -------------- Original message --------------
>>>>>>> From: Anthony Liguori
>>>>>>> 
>>>>>>>> You need to rebuild Xen (the hypervisor) with pae support.
>>>>>>>> 
>>>>>>>> I believe it's something like make pae=yes
>>>>>>>> 
>>>>>>>> Regards,
>>>>>>>> 
>>>>>>>> Anthony Liguori
>>>>>>>> 
>>>>>>>> pak333@xxxxxxxxxxx wrote:
>>>>>>>>> Hi,
>>>>>>> ; ; ; > >
>>>>>>>>> I just added 32GB memory in my system and wanted Xen to see
>>>>>>>>> that memory, so enabled PAE in xen0 and XenU. I did a make
>>>>>>>>> menuconfig in xen0 and xenU, then did a make in xen-unstable
>>>>>>>>> and a make install. 
>>>>>>>>> 
>>>>>>>>> Whilebooting this kernel, I get the above error PAE mode
>>>>>>>>> mismatch. I looked under xen/include/asm-x86/processor.h has
>>>>>>>>> #define X86_CR4_PAE defined and so does cpufeature.h have
>>>>>>>>> this defined. #define X86_FEATURE_PAE
>>>>>>> ! > &g t;
>>>>>>>>> What else should I have done to enable a PAE enabled Xen
>>>>>>>>> kernel. I am using xen 3.0.0 (xen-unstable) and cannot move
>>>>>>>>> to 3.02 due to xenoprofile not ready there 
>>>>>>>>> 
>>>>>>>> ; &g t; Thanks
>>>>>>>>> - Padma
>>>>>>>>> 
>>>>>>> 
>>>>> --------------------------------------------------------------------
>>>>> ----
>>>>>>> 
>>>>>>>>> 
>>>>>>>>> _______________________________________________
>>>>>>>>> Xen-devel mailing list
>>>>>>>>> Xen-devel@xxxxxxxxxxxxxxxxxxx
>>>>>>>>> http://lists.xensource.com/xen-devel
>>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> _______________________________________________
>>>>>>>> Xen-devel mailing list
>>>>>>>> Xen-devel@xxxxxxxxxxxxxxxxxxx
>>>>>>>> http://lists.xensource.com/xen-devel
>>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> _______________________________________________
>>>>>> Xen-devel mailing list
>>>>>> Xen-devel@xxxxxxxxxxxxxxxxxxx
>>>>>> http://lists.xensource.com/xen-devel

_______________________________________________
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®.