aboutsummaryrefslogtreecommitdiff
path: root/i386/intel
diff options
context:
space:
mode:
authorRichard Braun <rbraun@sceen.net>2016-09-20 22:11:24 +0200
committerRichard Braun <rbraun@sceen.net>2016-09-21 00:21:05 +0200
commit38aca37c00548f9b31bf17e74ab4a36c73521782 (patch)
tree41833d6c6e222e2bdc2410e963d53302c4654209 /i386/intel
parent66a878640573dd9101e3915db44408b661220038 (diff)
downloadgnumach-38aca37c00548f9b31bf17e74ab4a36c73521782.tar.gz
gnumach-38aca37c00548f9b31bf17e74ab4a36c73521782.tar.bz2
gnumach-38aca37c00548f9b31bf17e74ab4a36c73521782.zip
Replace vm_offset_t with phys_addr_t where appropriate
* i386/i386/phys.c (pmap_zero_page, pmap_copy_page, copy_to_phys, copy_from_phys, kvtophys): Use the phys_addr_t type for physical addresses. * i386/intel/pmap.c (pmap_map, pmap_map_bd, pmap_destroy, pmap_remove_range, pmap_page_protect, pmap_enter, pmap_extract, pmap_collect, phys_attribute_clear, phys_attribute_test, pmap_clear_modify, pmap_is_modified, pmap_clear_reference, pmap_is_referenced): Likewise. * i386/intel/pmap.h (pt_entry_t): Unconditionally define as a phys_addr_t. (pmap_zero_page, pmap_copy_page, kvtophys): Use the phys_addr_t type for physical addresses. * vm/pmap.h (pmap_enter, pmap_page_protect, pmap_clear_reference, pmap_is_referenced, pmap_clear_modify, pmap_is_modified, pmap_extract, pmap_map_bd): Likewise. * vm/vm_page.h (vm_page_fictitious_addr): Declare as a phys_addr_t. * vm/vm_resident.c (vm_page_fictitious_addr): Likewise. (vm_page_grab_phys_addr): Change return type to phys_addr_t.
Diffstat (limited to 'i386/intel')
-rw-r--r--i386/intel/pmap.c40
-rw-r--r--i386/intel/pmap.h12
2 files changed, 24 insertions, 28 deletions
diff --git a/i386/intel/pmap.c b/i386/intel/pmap.c
index 7cde0931..bfc5d76e 100644
--- a/i386/intel/pmap.c
+++ b/i386/intel/pmap.c
@@ -483,8 +483,8 @@ void ptep_check(ptep_t ptep)
*/
vm_offset_t pmap_map(
vm_offset_t virt,
- vm_offset_t start,
- vm_offset_t end,
+ phys_addr_t start,
+ phys_addr_t end,
int prot)
{
int ps;
@@ -506,8 +506,8 @@ vm_offset_t pmap_map(
*/
vm_offset_t pmap_map_bd(
vm_offset_t virt,
- vm_offset_t start,
- vm_offset_t end,
+ phys_addr_t start,
+ phys_addr_t end,
vm_prot_t prot)
{
pt_entry_t template;
@@ -1214,7 +1214,7 @@ pmap_t pmap_create(vm_size_t size)
void pmap_destroy(pmap_t p)
{
pt_entry_t *pdep;
- vm_offset_t pa;
+ phys_addr_t pa;
int c, s;
vm_page_t m;
@@ -1311,7 +1311,7 @@ void pmap_remove_range(
pt_entry_t *cpte;
unsigned long num_removed, num_unwired;
unsigned long pai;
- vm_offset_t pa;
+ phys_addr_t pa;
#ifdef MACH_PV_PAGETABLES
int n, ii = 0;
struct mmu_update update[HYP_BATCH_MMU_UPDATES];
@@ -1501,7 +1501,7 @@ void pmap_remove(
* page.
*/
void pmap_page_protect(
- vm_offset_t phys,
+ phys_addr_t phys,
vm_prot_t prot)
{
pv_entry_t pv_h, prev;
@@ -1773,7 +1773,7 @@ void pmap_protect(
void pmap_enter(
pmap_t pmap,
vm_offset_t v,
- vm_offset_t pa,
+ phys_addr_t pa,
vm_prot_t prot,
boolean_t wired)
{
@@ -1784,7 +1784,7 @@ void pmap_enter(
pv_entry_t pv_e;
pt_entry_t template;
int spl;
- vm_offset_t old_pa;
+ phys_addr_t old_pa;
assert(pa != vm_page_fictitious_addr);
if (pmap_debug) printf("pmap(%lx, %lx)\n", v, pa);
@@ -2133,20 +2133,20 @@ void pmap_change_wiring(
* with the given map/virtual_address pair.
*/
-vm_offset_t pmap_extract(
+phys_addr_t pmap_extract(
pmap_t pmap,
vm_offset_t va)
{
pt_entry_t *pte;
- vm_offset_t pa;
+ phys_addr_t pa;
int spl;
SPLVM(spl);
simple_lock(&pmap->lock);
if ((pte = pmap_pte(pmap, va)) == PT_ENTRY_NULL)
- pa = (vm_offset_t) 0;
+ pa = 0;
else if (!(*pte & INTEL_PTE_VALID))
- pa = (vm_offset_t) 0;
+ pa = 0;
else
pa = pte_to_pa(*pte) + (va & INTEL_OFFMASK);
simple_unlock(&pmap->lock);
@@ -2187,7 +2187,7 @@ void pmap_collect(pmap_t p)
{
pt_entry_t *pdp, *ptp;
pt_entry_t *eptp;
- vm_offset_t pa;
+ phys_addr_t pa;
int spl, wired;
if (p == PMAP_NULL)
@@ -2403,7 +2403,7 @@ pmap_pageable(
*/
void
phys_attribute_clear(
- vm_offset_t phys,
+ phys_addr_t phys,
int bits)
{
pv_entry_t pv_h;
@@ -2487,7 +2487,7 @@ phys_attribute_clear(
*/
boolean_t
phys_attribute_test(
- vm_offset_t phys,
+ phys_addr_t phys,
int bits)
{
pv_entry_t pv_h;
@@ -2575,7 +2575,7 @@ phys_attribute_test(
* Clear the modify bits on the specified physical page.
*/
-void pmap_clear_modify(vm_offset_t phys)
+void pmap_clear_modify(phys_addr_t phys)
{
phys_attribute_clear(phys, PHYS_MODIFIED);
}
@@ -2587,7 +2587,7 @@ void pmap_clear_modify(vm_offset_t phys)
* by any physical maps.
*/
-boolean_t pmap_is_modified(vm_offset_t phys)
+boolean_t pmap_is_modified(phys_addr_t phys)
{
return (phys_attribute_test(phys, PHYS_MODIFIED));
}
@@ -2598,7 +2598,7 @@ boolean_t pmap_is_modified(vm_offset_t phys)
* Clear the reference bit on the specified physical page.
*/
-void pmap_clear_reference(vm_offset_t phys)
+void pmap_clear_reference(phys_addr_t phys)
{
phys_attribute_clear(phys, PHYS_REFERENCED);
}
@@ -2610,7 +2610,7 @@ void pmap_clear_reference(vm_offset_t phys)
* by any physical maps.
*/
-boolean_t pmap_is_referenced(vm_offset_t phys)
+boolean_t pmap_is_referenced(phys_addr_t phys)
{
return (phys_attribute_test(phys, PHYS_REFERENCED));
}
diff --git a/i386/intel/pmap.h b/i386/intel/pmap.h
index 382cd5f4..e6a3ede8 100644
--- a/i386/intel/pmap.h
+++ b/i386/intel/pmap.h
@@ -64,11 +64,7 @@
* i386/i486 Page Table Entry
*/
-#if PAE
-typedef unsigned long long pt_entry_t;
-#else /* PAE */
-typedef unsigned int pt_entry_t;
-#endif /* PAE */
+typedef phys_addr_t pt_entry_t;
#define PT_ENTRY_NULL ((pt_entry_t *) 0)
#endif /* __ASSEMBLER__ */
@@ -447,19 +443,19 @@ extern void pmap_unmap_page_zero (void);
/*
* pmap_zero_page zeros the specified (machine independent) page.
*/
-extern void pmap_zero_page (vm_offset_t);
+extern void pmap_zero_page (phys_addr_t);
/*
* pmap_copy_page copies the specified (machine independent) pages.
*/
-extern void pmap_copy_page (vm_offset_t, vm_offset_t);
+extern void pmap_copy_page (phys_addr_t, phys_addr_t);
/*
* kvtophys(addr)
*
* Convert a kernel virtual address to a physical address
*/
-extern vm_offset_t kvtophys (vm_offset_t);
+extern phys_addr_t kvtophys (vm_offset_t);
void pmap_remove_range(
pmap_t pmap,