* Build break with PAE enabled
@ 2005-08-01 15:09 Natasha Jarymowycz
2005-08-02 9:48 ` Gerd Knorr
0 siblings, 1 reply; 3+ messages in thread
From: Natasha Jarymowycz @ 2005-08-01 15:09 UTC (permalink / raw)
To: xen-devel; +Cc: kraxel
Currently x86_32 won't build with PAE enabled. shadow_public.c needs
access to functions in shadow32.c. It looks like shadow_64.h
includes the needed functionality for x86_64 builds. Should there be
a comparable shadow_32.h file? Or should some of the code be merged
into a single header file -- it looks like free_out_of_sync_state is
identical for both 32bit and 64bit.
Also, shadow_l3_normal_pt_update() was clearly written for x86_64 only.
shadow_public.c: In function `free_shadow_pages':
shadow_public.c:689: warning: implicit declaration of function `free_out_of_sync_state'
shadow_public.c: In function `__shadow_mode_enable':
shadow_public.c:917: warning: implicit declaration of function `alloc_monitor_pagetable'
shadow_public.c: In function `shadow_l3_normal_pt_update':
shadow_public.c:1387: error: `pgentry_64_t' undeclared (first use in this function)
shadow_public.c:1387: error: (Each undeclared identifier is reported only once
shadow_public.c:1387: error: for each function it appears in.)
shadow_public.c:1387: error: `spl3e' undeclared (first use in this function)
shadow_public.c:1397: error: syntax error before ')' token
shadow_public.c:1398: warning: implicit declaration of function `validate_entry_change'
shadow_public.c:1398: error: syntax error before ')' token
shadow_public.c:1400: warning: implicit declaration of function `shadow_type_to_level'
make[2]: *** [shadow_public.o] Error 1
-Natasha
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Build break with PAE enabled
2005-08-01 15:09 Build break with PAE enabled Natasha Jarymowycz
@ 2005-08-02 9:48 ` Gerd Knorr
2005-08-02 11:07 ` Gerd Knorr
0 siblings, 1 reply; 3+ messages in thread
From: Gerd Knorr @ 2005-08-02 9:48 UTC (permalink / raw)
To: Natasha Jarymowycz; +Cc: xen-devel
> Currently x86_32 won't build with PAE enabled. shadow_public.c needs
> access to functions in shadow32.c. It looks like shadow_64.h
> includes the needed functionality for x86_64 builds.
Yep, and pae should use these as well. I've changed a few
places with
#if CONFIG_PAGING_LEVELS >= 4
#include <asm/shadow_64.h>
#endif
to "CONFIG_PAGING_LEVELS >= 3", maybe I forgot to include some
into the patch ...
> Also, shadow_l3_normal_pt_update() was clearly written for x86_64 only.
Yep, no actual code changes for PAE yet, that patch was just the
switchover from the old (shadow32.c) to the new shadow code.
PAE will use the 64bit code as the page table entries 64bit wide
as well.
Gerd
PS: right now the build fails with "public/acm_ops.h: No such
file or directory" ...
--
panic("it works"); /* avoid being flooded with debug messages */
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Build break with PAE enabled
2005-08-02 9:48 ` Gerd Knorr
@ 2005-08-02 11:07 ` Gerd Knorr
0 siblings, 0 replies; 3+ messages in thread
From: Gerd Knorr @ 2005-08-02 11:07 UTC (permalink / raw)
To: Natasha Jarymowycz; +Cc: xen-devel
> to "CONFIG_PAGING_LEVELS >= 3", maybe I forgot to include some
> into the patch ...
Yep, I did, shadow_public.c bits are missing, sorry for trouble.
Gerd
Index: xen/arch/x86/shadow_public.c
===================================================================
--- xen.orig/arch/x86/shadow_public.c 2005-08-02 12:16:16.000000000 +0200
+++ xen/arch/x86/shadow_public.c 2005-08-02 13:05:27.000000000 +0200
@@ -30,7 +30,7 @@
#include <xen/sched.h>
#include <xen/trace.h>
-#if CONFIG_PAGING_LEVELS >= 4
+#if CONFIG_PAGING_LEVELS >= 3
#include <asm/shadow_64.h>
extern struct shadow_ops MODE_F_HANDLER;
@@ -233,7 +233,20 @@ void free_monitor_pagetable(struct vcpu
v->arch.monitor_vtable = 0;
}
+#elif CONFIG_PAGING_LEVELS == 3
+
+static void alloc_monitor_pagetable(struct vcpu *v)
+{
+ BUG(); /* PAE not implemented yet */
+}
+
+void free_monitor_pagetable(struct vcpu *v)
+{
+ BUG(); /* PAE not implemented yet */
+}
+
#elif CONFIG_PAGING_LEVELS == 2
+
static void alloc_monitor_pagetable(struct vcpu *v)
{
unsigned long mmfn;
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2005-08-02 11:07 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-08-01 15:09 Build break with PAE enabled Natasha Jarymowycz
2005-08-02 9:48 ` Gerd Knorr
2005-08-02 11:07 ` Gerd Knorr
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.