diff options
author | Michael Shalayeff <mickey@cvs.openbsd.org> | 1999-07-21 05:38:04 +0000 |
---|---|---|
committer | Michael Shalayeff <mickey@cvs.openbsd.org> | 1999-07-21 05:38:04 +0000 |
commit | baef6f3e6f4cecce04a3ba0b902134b30ab9e370 (patch) | |
tree | 90bc0c70ed529f9ac9cf8d0edbf4877e7aed4f28 /sys/arch | |
parent | 4cc44bac67f8c095fee41a70efd4c39efb3046df (diff) |
better fields order for pv_entry
Diffstat (limited to 'sys/arch')
-rw-r--r-- | sys/arch/hppa/include/pmap.h | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/sys/arch/hppa/include/pmap.h b/sys/arch/hppa/include/pmap.h index ab8b2b37176..2d370e2b601 100644 --- a/sys/arch/hppa/include/pmap.h +++ b/sys/arch/hppa/include/pmap.h @@ -1,7 +1,7 @@ -/* $OpenBSD: pmap.h,v 1.8 1999/04/20 19:29:12 mickey Exp $ */ +/* $OpenBSD: pmap.h,v 1.9 1999/07/21 05:38:03 mickey Exp $ */ /* - * Copyright (c) 1998 Michael Shalayeff + * Copyright (c) 1998,1999 Michael Shalayeff * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -82,12 +82,6 @@ #include <machine/pte.h> -/* - * This hash function is the one used by the hardware TLB walker on the 7100. - */ -#define pmap_hash(space, va) \ - ((((u_int)(space) << 5) ^ (((u_int)va) >> 12)) & (hpt_hashsize-1)) - typedef struct pmap { TAILQ_ENTRY(pmap) pmap_list; /* pmap free list */ @@ -122,15 +116,18 @@ extern struct hpt_entry *hpt_table; extern u_int hpt_hashsize; #endif /* _KERNEL */ -/* keep it at 32 bytes for the cache overall satisfaction */ +/* + * keep it at 32 bytes for the cache overall satisfaction + * also, align commonly used pairs on double-word boundary + */ struct pv_entry { struct pv_entry *pv_next; /* list of mappings of a given PA */ - struct pv_entry *pv_hash; /* VTOP hash bucket list */ pmap_t pv_pmap; /* back link to pmap */ - u_int pv_space; /* copy of space id from pmap */ u_int pv_va; /* virtual page number */ - u_int pv_tlbprot; /* TLB format protection */ + u_int pv_space; /* copy of space id from pmap */ u_int pv_tlbpage; /* physical page (for TLB load) */ + u_int pv_tlbprot; /* TLB format protection */ + struct pv_entry *pv_hash; /* VTOP hash bucket list */ u_int pv_pad; /* pad to 32 bytes */ }; @@ -139,7 +136,7 @@ struct pv_page { TAILQ_ENTRY(pv_page) pvp_list; /* Chain of pages */ u_int pvp_nfree; struct pv_entry *pvp_freelist; - u_int pvp_flag; /* is it direct mapped */ + u_int pvp_flag; /* is it direct mapped (unused) */ u_int pvp_pad[3]; /* align to 32 */ struct pv_entry pvp_pv[NPVPPG]; }; |