On Wed, Apr 27, 2016 at 03:13:52PM +0200, Alexander Gordeev wrote: > Make x86 consistent with other architectures and put > memory page specific defines to lib/x86/asm/page.h > > Cc: Andrew Jones <drjones@xxxxxxxxxx> > Cc: Thomas Huth <thuth@xxxxxxxxxx> > Cc: Radim Krčmář <rkrcmar@xxxxxxxxxx> > Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> > --- > lib/x86/asm/page.h | 27 +++++++++++++++++++++++++++ > lib/x86/vm.c | 17 ----------------- > lib/x86/vm.h | 14 +------------- > 3 files changed, 28 insertions(+), 30 deletions(-) > create mode 100644 lib/x86/asm/page.h Reviewed-by: Andrew Jones <drjones@xxxxxxxxxx> > > diff --git a/lib/x86/asm/page.h b/lib/x86/asm/page.h > new file mode 100644 > index 0000000..edfe325 > --- /dev/null > +++ b/lib/x86/asm/page.h > @@ -0,0 +1,27 @@ > +#ifndef _ASM_X86_PAGE_H_ > +#define _ASM_X86_PAGE_H_ > + > +#define PAGE_SIZE 4096ul > +#ifdef __x86_64__ > +#define LARGE_PAGE_SIZE (512 * PAGE_SIZE) > +#else > +#define LARGE_PAGE_SIZE (1024 * PAGE_SIZE) > +#endif > + > +#define PTE_PRESENT (1ull << 0) > +#define PTE_PSE (1ull << 7) > +#define PTE_WRITE (1ull << 1) > +#define PTE_USER (1ull << 2) > +#define PTE_ADDR (0xffffffffff000ull) > + > +#ifdef __x86_64__ > +#define PAGE_LEVEL 4 > +#define PGDIR_WIDTH 9 > +#define PGDIR_MASK 511 > +#else > +#define PAGE_LEVEL 2 > +#define PGDIR_WIDTH 10 > +#define PGDIR_MASK 1023 > +#endif > + > +#endif > diff --git a/lib/x86/vm.c b/lib/x86/vm.c > index 7ce7bbc..9c94ca5 100644 > --- a/lib/x86/vm.c > +++ b/lib/x86/vm.c > @@ -2,13 +2,6 @@ > #include "vm.h" > #include "libcflat.h" > > -#define PAGE_SIZE 4096ul > -#ifdef __x86_64__ > -#define LARGE_PAGE_SIZE (512 * PAGE_SIZE) > -#else > -#define LARGE_PAGE_SIZE (1024 * PAGE_SIZE) > -#endif > - > static void *free = 0; > static void *vfree_top = 0; > > @@ -44,16 +37,6 @@ void free_page(void *page) > extern char edata; > static unsigned long end_of_memory; > > -#ifdef __x86_64__ > -#define PAGE_LEVEL 4 > -#define PGDIR_WIDTH 9 > -#define PGDIR_MASK 511 > -#else > -#define PAGE_LEVEL 2 > -#define PGDIR_WIDTH 10 > -#define PGDIR_MASK 1023 > -#endif > - > unsigned long *install_pte(unsigned long *cr3, > int pte_level, > void *virt, > diff --git a/lib/x86/vm.h b/lib/x86/vm.h > index 28794d7..72f84e6 100644 > --- a/lib/x86/vm.h > +++ b/lib/x86/vm.h > @@ -2,19 +2,7 @@ > #define VM_H > > #include "processor.h" > - > -#define PAGE_SIZE 4096ul > -#ifdef __x86_64__ > -#define LARGE_PAGE_SIZE (512 * PAGE_SIZE) > -#else > -#define LARGE_PAGE_SIZE (1024 * PAGE_SIZE) > -#endif > - > -#define PTE_PRESENT (1ull << 0) > -#define PTE_PSE (1ull << 7) > -#define PTE_WRITE (1ull << 1) > -#define PTE_USER (1ull << 2) > -#define PTE_ADDR (0xffffffffff000ull) > +#include "asm/page.h" > > void setup_vm(); > > -- > 1.8.3.1 > > -- > To unsubscribe from this list: send the line "unsubscribe kvm" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html