summaryrefslogtreecommitdiffstats
path: root/sys/ia64
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>2011-04-03 23:49:20 +0000
committermarcel <marcel@FreeBSD.org>2011-04-03 23:49:20 +0000
commit09f8bacb548dc6d3d4127689c542edcb9ea0dc1e (patch)
tree8f01070f57e7175478f2e6afecfa6c8b092f4ae1 /sys/ia64
parent57f20b6d96e83eb8b380cc3211f0ddf2cc96469e (diff)
downloadFreeBSD-src-09f8bacb548dc6d3d4127689c542edcb9ea0dc1e.zip
FreeBSD-src-09f8bacb548dc6d3d4127689c542edcb9ea0dc1e.tar.gz
Use the new arch_loadaddr I/F to align ELF objects to PBVM page
boundaries. For good measure, align all other objects to cache lines boundaries. Use the new arch_loadseg I/F to keep track of kernel text and data so that we can wire as much of it as is possible. It is the responsibility of the kernel to link critical (read IVT related) code and data at the front of the respective segment so that it's covered by TRs before the kernel has a chance to add more translations. Use a better way of determining whether we're loading a legacy kernel or not. We can't check for the presence of the PBVM page table, because we may have unloaded that kernel and loaded an older (legacy) kernel after that. Simply use the latest load address for it.
Diffstat (limited to 'sys/ia64')
-rw-r--r--sys/ia64/include/bootinfo.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/ia64/include/bootinfo.h b/sys/ia64/include/bootinfo.h
index 53f23ae..ed3accd 100644
--- a/sys/ia64/include/bootinfo.h
+++ b/sys/ia64/include/bootinfo.h
@@ -30,7 +30,11 @@ struct bootinfo {
uint64_t bi_magic; /* BOOTINFO_MAGIC */
#define BOOTINFO_MAGIC 0xdeadbeeffeedface
uint64_t bi_version; /* version 1 */
- uint64_t bi_spare[5]; /* was: name of booted kernel */
+ uint64_t bi_spare[3]; /* was: name of booted kernel */
+ uint32_t bi_itr_used; /* Number of ITR and DTR ... */
+ uint32_t bi_dtr_used; /* ... entries used. */
+ uint32_t bi_text_mapped; /* Size of text mapped. */
+ uint32_t bi_data_mapped; /* Size of data mapped. */
uint64_t bi_pbvm_pgtbl; /* PA of PBVM page table. */
uint64_t bi_hcdp; /* DIG64 HCDP table */
uint64_t bi_fpswa; /* FPSWA interface */
OpenPOWER on IntegriCloud