diff options
author | grehan <grehan@FreeBSD.org> | 2013-07-19 03:27:04 +0000 |
---|---|---|
committer | grehan <grehan@FreeBSD.org> | 2013-07-19 03:27:04 +0000 |
commit | 749888363db1320e1cc3818fcd71e411c3a955ca (patch) | |
tree | e4dd80ba19e005ead5dfb35b03225d5fb4926884 /sys/amd64 | |
parent | c8195f5331ccad33ad4e265362523f51b96abd5c (diff) | |
parent | 61d6ee86f76db7ef69b0748be4d4b6e14ffc7109 (diff) | |
download | FreeBSD-src-749888363db1320e1cc3818fcd71e411c3a955ca.zip FreeBSD-src-749888363db1320e1cc3818fcd71e411c3a955ca.tar.gz |
IFC @ r253461
Diffstat (limited to 'sys/amd64')
-rw-r--r-- | sys/amd64/amd64/machdep.c | 30 | ||||
-rw-r--r-- | sys/amd64/amd64/pmap.c | 1 | ||||
-rw-r--r-- | sys/amd64/conf/GENERIC | 1 | ||||
-rw-r--r-- | sys/amd64/conf/NOTES | 4 |
4 files changed, 36 insertions, 0 deletions
diff --git a/sys/amd64/amd64/machdep.c b/sys/amd64/amd64/machdep.c index a1c61eb..7a39ef8 100644 --- a/sys/amd64/amd64/machdep.c +++ b/sys/amd64/amd64/machdep.c @@ -1228,6 +1228,36 @@ DB_SHOW_COMMAND(idt, db_show_idt) ip++; } } + +/* Show privileged registers. */ +DB_SHOW_COMMAND(sysregs, db_show_sysregs) +{ + struct { + uint16_t limit; + uint64_t base; + } __packed idtr, gdtr; + uint16_t ldt, tr; + + __asm __volatile("sidt %0" : "=m" (idtr)); + db_printf("idtr\t0x%016lx/%04x\n", + (u_long)idtr.base, (u_int)idtr.limit); + __asm __volatile("sgdt %0" : "=m" (gdtr)); + db_printf("gdtr\t0x%016lx/%04x\n", + (u_long)gdtr.base, (u_int)gdtr.limit); + __asm __volatile("sldt %0" : "=r" (ldt)); + db_printf("ldtr\t0x%04x\n", ldt); + __asm __volatile("str %0" : "=r" (tr)); + db_printf("tr\t0x%04x\n", tr); + db_printf("cr0\t0x%016lx\n", rcr0()); + db_printf("cr2\t0x%016lx\n", rcr2()); + db_printf("cr3\t0x%016lx\n", rcr3()); + db_printf("cr4\t0x%016lx\n", rcr4()); + db_printf("EFER\t%016lx\n", rdmsr(MSR_EFER)); + db_printf("FEATURES_CTL\t%016lx\n", rdmsr(MSR_IA32_FEATURE_CONTROL)); + db_printf("DEBUG_CTL\t%016lx\n", rdmsr(MSR_DEBUGCTLMSR)); + db_printf("PAT\t%016lx\n", rdmsr(MSR_PAT)); + db_printf("GSBASE\t%016lx\n", rdmsr(MSR_GSBASE)); +} #endif void diff --git a/sys/amd64/amd64/pmap.c b/sys/amd64/amd64/pmap.c index e1d373c..19be4e0 100644 --- a/sys/amd64/amd64/pmap.c +++ b/sys/amd64/amd64/pmap.c @@ -2234,6 +2234,7 @@ reclaim_pv_chunk(pmap_t locked_pmap, struct rwlock **lockp) if (m_pc == NULL && free != NULL) { m_pc = free; free = (void *)m_pc->object; + m_pc->object = NULL; /* Recycle a freed page table page. */ m_pc->wire_count = 1; atomic_add_int(&cnt.v_wire_count, 1); diff --git a/sys/amd64/conf/GENERIC b/sys/amd64/conf/GENERIC index f7bab39..17990a3 100644 --- a/sys/amd64/conf/GENERIC +++ b/sys/amd64/conf/GENERIC @@ -147,6 +147,7 @@ device arcmsr # Areca SATA II RAID device ciss # Compaq Smart RAID 5* device dpt # DPT Smartcache III, IV - See NOTES for options device hptmv # Highpoint RocketRAID 182x +device hptnr # Highpoint DC7280, R750 device hptrr # Highpoint RocketRAID 17xx, 22xx, 23xx, 25xx device hpt27xx # Highpoint RocketRAID 27xx device iir # Intel Integrated RAID diff --git a/sys/amd64/conf/NOTES b/sys/amd64/conf/NOTES index 4d1f90f..7d58541 100644 --- a/sys/amd64/conf/NOTES +++ b/sys/amd64/conf/NOTES @@ -418,6 +418,10 @@ device hpt27xx device hptmv # +# Highpoint DC7280 and R750. +device hptnr + +# # Highpoint RocketRAID. Supports RR172x, RR222x, RR2240, RR232x, RR2340, # RR2210, RR174x, RR2522, RR231x, RR230x. device hptrr |