summaryrefslogtreecommitdiff
path: root/i386/i386/vm_param.h
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2009-11-22 20:08:27 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2009-11-22 20:22:06 +0100
commit493ea92815e8180fcf396ee95a0552112e8b0472 (patch)
tree2dd436191404367f6c13fe14e51c13078933d618 /i386/i386/vm_param.h
parentfe1cd7b8e6b5cc7f090debf7c251820fba86ccad (diff)
Do not assume that VM_MIN_KERNEL_ADDRESS is 0
* i386/i386/vm_param.h (VM_MAX_KERNEL_ADDRESS): Add VM_MIN_KERNEL_ADDRESS. (kvtolin): Subtract VM_MIN_KERNEL_ADDRESS. (lintokv): Add VM_MIN_KERNEL_ADDRESS. * i386/i386at/model_dep.c (mem_size_init): Subtract VM_MIN_KERNEL_ADDRESS in computation of phys_last_addr. (i386at_init): Use VM_MIN_KERNEL_ADDRESS instead of 0 as argument of lin2pdenum.
Diffstat (limited to 'i386/i386/vm_param.h')
-rw-r--r--i386/i386/vm_param.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/i386/i386/vm_param.h b/i386/i386/vm_param.h
index ba8e584..1b79dda 100644
--- a/i386/i386/vm_param.h
+++ b/i386/i386/vm_param.h
@@ -28,7 +28,7 @@
/* The kernel address space is 1GB, starting at virtual address 0. */
#define VM_MIN_KERNEL_ADDRESS ((vm_offset_t) 0x00000000)
-#define VM_MAX_KERNEL_ADDRESS ((vm_offset_t) (LINEAR_MAX_KERNEL_ADDRESS - LINEAR_MIN_KERNEL_ADDRESS))
+#define VM_MAX_KERNEL_ADDRESS ((vm_offset_t) (LINEAR_MAX_KERNEL_ADDRESS - LINEAR_MIN_KERNEL_ADDRESS + VM_MIN_KERNEL_ADDRESS))
/* The kernel virtual address space is actually located
at high linear addresses.
@@ -58,7 +58,7 @@ extern vm_offset_t phys_mem_va;
/*
* Kernel virtual memory is actually at 0xc0000000 in linear addresses.
*/
-#define kvtolin(a) ((vm_offset_t)(a) + LINEAR_MIN_KERNEL_ADDRESS)
-#define lintokv(a) ((vm_offset_t)(a) - LINEAR_MIN_KERNEL_ADDRESS)
+#define kvtolin(a) ((vm_offset_t)(a) - VM_MIN_KERNEL_ADDRESS + LINEAR_MIN_KERNEL_ADDRESS)
+#define lintokv(a) ((vm_offset_t)(a) - LINEAR_MIN_KERNEL_ADDRESS + VM_MIN_KERNEL_ADDRESS)
#endif /* _I386_KERNEL_I386_VM_PARAM_ */