Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6996d3b6 authored by Jeremy Fitzhardinge's avatar Jeremy Fitzhardinge Committed by Jeremy Fitzhardinge
Browse files

paravirt: add a hook for once the allocator is ready



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: default avatarJeremy Fitzhardinge <jeremy@xensource.com>
parent fdb4c338
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -601,6 +601,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
+8 −0
Original line number Diff line number Diff line
@@ -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(void)
}
#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)
+4 −0
Original line number Diff line number Diff line
@@ -81,6 +81,10 @@ void __init add_memory_region(unsigned long long start,

extern unsigned long init_pg_tables_end;

#ifndef CONFIG_PARAVIRT
#define paravirt_post_allocator_init()	do {} while (0)
#endif

#endif /* __ASSEMBLY__ */

#endif  /*  __KERNEL__  */