Re: [PATCH v2 3/9] x86: Introduce lib/x86/asm/page.h

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

 



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



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux