summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjdike <jdike>2003-09-11 14:44:45 +0000
committerjdike <jdike>2003-09-11 14:44:45 +0000
commitfa041c834a770c6c8dc53b4520dbb767b1164d1a (patch)
treef4fd7eec5cca62bfae83e9015202847383731eb1
parent6c82166973ac2e671e8e204564545304e1acbe92 (diff)
downloaduml-history-fa041c834a770c6c8dc53b4520dbb767b1164d1a.tar.gz
Got rid of the physmem hash.
-rw-r--r--arch/um/kernel/physmem.c23
1 files changed, 1 insertions, 22 deletions
diff --git a/arch/um/kernel/physmem.c b/arch/um/kernel/physmem.c
index 4bae24c..07d3a14 100644
--- a/arch/um/kernel/physmem.c
+++ b/arch/um/kernel/physmem.c
@@ -24,11 +24,9 @@
struct phys_desc;
DEF_HASH_STRUCTS(virtmem, PHYS_HASHSIZE, struct phys_desc);
-DEF_HASH_STRUCTS(physmem, PHYS_HASHSIZE, struct phys_desc);
struct phys_desc {
struct virtmem_ptrs virt_ptrs;
- struct physmem_ptrs phys_ptrs;
int fd;
__u64 offset;
void *virt;
@@ -51,21 +49,6 @@ static int virt_hash(void *virt)
DEF_HASH(static, virtmem, struct phys_desc, virt_ptrs, void *, virt, virt_cmp,
virt_hash);
-struct physmem_table physmem_hash;
-
-static int phys_cmp(unsigned long phys1, unsigned long phys2)
-{
- return(phys1 != phys2);
-}
-
-static int phys_hash(unsigned long phys)
-{
- return((phys >> PAGE_SHIFT) % PHYS_HASHSIZE);
-}
-
-DEF_HASH(static, physmem, struct phys_desc, phys_ptrs, unsigned long, phys,
- phys_cmp, phys_hash);
-
int physmem_subst_mapping(void *virt, int fd, __u64 offset, int w)
{
struct phys_desc *desc;
@@ -78,8 +61,7 @@ int physmem_subst_mapping(void *virt, int fd, __u64 offset, int w)
goto out;
phys = __pa(virt);
- if((find_physmem_hash(&physmem_hash, phys) != NULL) ||
- (find_virtmem_hash(&virtmem_hash, virt) != NULL))
+ if(find_virtmem_hash(&virtmem_hash, virt) != NULL)
panic("Address 0x%p is already substituted\n", virt);
err = -ENOMEM;
@@ -88,12 +70,10 @@ int physmem_subst_mapping(void *virt, int fd, __u64 offset, int w)
goto out;
*desc = ((struct phys_desc) { .virt_ptrs = { NULL, NULL },
- .phys_ptrs = { NULL, NULL },
.fd = fd,
.offset = offset,
.virt = virt,
.phys = __pa(virt) });
- insert_physmem_hash(&physmem_hash, desc);
insert_virtmem_hash(&virtmem_hash, desc);
err = 0;
out:
@@ -112,7 +92,6 @@ int physmem_remove_mapping(void *virt)
if(desc == NULL)
return(0);
- remove_physmem_hash(&physmem_hash, desc);
remove_virtmem_hash(&virtmem_hash, desc);
kfree(desc);