summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDale S. Rahn <rahnds@cvs.openbsd.org>1997-01-09 03:03:47 +0000
committerDale S. Rahn <rahnds@cvs.openbsd.org>1997-01-09 03:03:47 +0000
commita86d2628e658be70451e926419ffaf4577913ec9 (patch)
tree7876a3d4c3a853045a4b51b465b4fc3842a5499c
parentb1e041dc039612db78755fac6ae29740a91951a6 (diff)
adding further support.
-rw-r--r--sys/arch/powerpc/include/exec.h19
-rw-r--r--sys/arch/powerpc/include/pmap.h5
2 files changed, 18 insertions, 6 deletions
diff --git a/sys/arch/powerpc/include/exec.h b/sys/arch/powerpc/include/exec.h
index 7a294b1411c..0eb7db7a818 100644
--- a/sys/arch/powerpc/include/exec.h
+++ b/sys/arch/powerpc/include/exec.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: exec.h,v 1.3 1996/12/28 06:25:06 rahnds Exp $ */
+/* $OpenBSD: exec.h,v 1.4 1997/01/09 03:03:44 rahnds Exp $ */
/*
* Copyright (c) 1993 Christopher G. Demetriou
* All rights reserved.
@@ -25,7 +25,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id: exec.h,v 1.3 1996/12/28 06:25:06 rahnds Exp $
+ * $Id: exec.h,v 1.4 1997/01/09 03:03:44 rahnds Exp $
*/
#ifndef _PPC_EXEC_H_
@@ -34,14 +34,23 @@
#define __LDPGSZ 4096 /* linker page size */
enum reloc_type {
- reloc_type_rubbish
+ rubbish
};
/* Relocation format (from PMAX?) */
struct relocation_info_powerpc {
- int utter_rubbish;
+ /* Rubbish for "a.out" compatibility, not used for ELF */
+ int r_address; /* offset in text or data segment */
+ unsigned int r_symbolnum : 24, /* ordinal number of add symbol */
+ r_pcrel : 1, /* 1 if value should be pc-relative */
+ r_length : 2, /* log base 2 of value's width */
+ r_extern : 1, /* 1 if need to add symbol to value */
+ r_baserel : 1, /* linkage table relative */
+ r_jmptable : 1, /* relocate to jump table */
+ r_relative : 1, /* load address relative */
+ r_copy : 1; /* run time copy */
};
-#define relocation_info relocation_info_ppc
+#define relocation_info relocation_info_powerpc
/*
* Define what exec "formats" we should handle.
diff --git a/sys/arch/powerpc/include/pmap.h b/sys/arch/powerpc/include/pmap.h
index 5d806fad624..ab4053d1a84 100644
--- a/sys/arch/powerpc/include/pmap.h
+++ b/sys/arch/powerpc/include/pmap.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: pmap.h,v 1.2 1996/12/28 06:25:20 rahnds Exp $ */
+/* $OpenBSD: pmap.h,v 1.3 1997/01/09 03:03:46 rahnds Exp $ */
/* $NetBSD: pmap.h,v 1.1 1996/09/30 16:34:29 ws Exp $ */
/*-
@@ -55,6 +55,7 @@ typedef u_int sr_t;
struct pmap {
sr_t pm_sr[16]; /* segments used in this pmap */
int pm_refs; /* ref count */
+ struct pmap_statistics pm_stats; /* pmap statistics */
};
typedef struct pmap *pmap_t;
@@ -71,6 +72,8 @@ extern struct pmap kernel_pmap_;
#define pmap_phys_address(x) (x)
+#define pmap_resident_count(pmap) ((pmap)->pm_stats.resident_count)
+
void pmap_bootstrap __P((u_int kernelstart, u_int kernelend));
#endif /* _KERNEL */