|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] [patch 08/44] paravirt: add a hook for once the allocator is
Add a hook so that the paravirt backend knows when the allocator is
ready. This is useful for the obvious reason that the allocator is
available, but the other side-effect of having the bootmem allocator
available is that each page now has an associated "struct page".
Signed-off-by: Jeremy Fitzhardinge <jeremy@xxxxxxxxxxxxx>
---
arch/i386/kernel/setup.c | 2 ++
include/asm-i386/paravirt.h | 8 ++++++++
include/asm-i386/setup.h | 4 ++++
3 files changed, 14 insertions(+)
===================================================================
--- a/arch/i386/kernel/setup.c
+++ b/arch/i386/kernel/setup.c
@@ -611,6 +611,8 @@ void __init setup_arch(char **cmdline_p)
* NOTE: at this point the bootmem allocator is fully available.
*/
+ paravirt_post_allocator_init();
+
dmi_scan_machine();
#ifdef CONFIG_X86_GENERICARCH
===================================================================
--- a/include/asm-i386/paravirt.h
+++ b/include/asm-i386/paravirt.h
@@ -52,6 +52,8 @@ struct paravirt_ops
/* Basic arch-specific setup */
void (*arch_setup)(void);
char *(*memory_setup)(void);
+ void (*post_allocator_init)(void);
+
void (*init_IRQ)(void);
void (*time_init)(void);
@@ -669,6 +671,12 @@ static inline void setup_secondary_clock
}
#endif
+static inline void paravirt_post_allocator_init(void)
+{
+ if (paravirt_ops.post_allocator_init)
+ (*paravirt_ops.post_allocator_init)();
+}
+
static inline void paravirt_pagetable_setup_start(pgd_t *base)
{
if (paravirt_ops.pagetable_setup_start)
===================================================================
--- a/include/asm-i386/setup.h
+++ b/include/asm-i386/setup.h
@@ -79,6 +79,10 @@ void __init add_memory_region(unsigned l
extern unsigned long init_pg_tables_end;
+#ifndef CONFIG_PARAVIRT
+#define paravirt_post_allocator_init() do {} while (0)
+#endif
+
#endif /* __ASSEMBLY__ */
#endif /* __KERNEL__ */
--
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-devel] [patch 00/44] Xen guest support for 2.6.23, Jeremy Fitzhardinge
- [Xen-devel] [patch 04/44] Add common orderly_poweroff(), Jeremy Fitzhardinge
- [Xen-devel] [patch 01/44] add kstrndup, Jeremy Fitzhardinge
- [Xen-devel] [patch 02/44] add argv_split(), Jeremy Fitzhardinge
- [Xen-devel] [patch 03/44] usermodehelper: split setup from execution, Jeremy Fitzhardinge
- [Xen-devel] [patch 10/44] paravirt: unstatic leave_mm, Jeremy Fitzhardinge
- [Xen-devel] [patch 12/44] paravirt: make siblingmap functions visible, Jeremy Fitzhardinge
- [Xen-devel] [patch 08/44] paravirt: add a hook for once the allocator is ready,
Jeremy Fitzhardinge <=
- [Xen-devel] [patch 05/44] usermodehelper: Tidy up waiting, Jeremy Fitzhardinge
- [Xen-devel] [patch 06/44] use elfnote.h to generate vsyscall notes., Jeremy Fitzhardinge
- [Xen-devel] [patch 13/44] paravirt: export __supported_pte_mask, Jeremy Fitzhardinge
- [Xen-devel] [patch 17/44] Add nosegneg capability to the vsyscall page notes, Jeremy Fitzhardinge
- [Xen-devel] [patch 14/44] Allocate and free vmalloc areas, Jeremy Fitzhardinge
- [Xen-devel] [patch 23/44] xen: configuration, Jeremy Fitzhardinge
- [Xen-devel] [patch 26/44] xen: ignore RW mapping of RO pages in pagetable_init, Jeremy Fitzhardinge
- [Xen-devel] [patch 22/44] xen: time implementation, Jeremy Fitzhardinge
|
|
|
|
|