usr/src/grub/grub-0.95/stage2/controlregs.h
author mrj
Fri, 19 Jan 2007 08:10:06 -0800
changeset 3446 5903aece022d
permissions -rw-r--r--
PSARC 2006/469 EOF and removal of eeprom -I PSARC 2006/568 direct boot (dboot) for x86 6219282 interrupt service routine called twice 6223946 potential infinite loop in fbt.c 6228819 tsc_gethrtimeunscaled resets to 0 on suspend 6342201 hat_unload() and cross call usage are needlessly slow on x86, x64 6378723 ctfconvert can't handle GCC empty struct C extension 6379124 ctfconvert can't handle C99 flexible array members 6401187 merging ip's CTF data into genunix introduces a race 6437553 shmat(2) fails on platforms that don't support large pages 6449286 eeprom -I should be torched 6464072 need support for firmware properties 6465816 need a debug record page 6467491 64-bit processes must point %fs or %gs to null selector to utilize [fs|gs]base 6475880 vestiges of old boot code on i386/amd64 should be purged 6475956 Interrupt handling code on x86 platforms should be easier to understand 6477828 pcplusmp psm module should be rearranged to allow multiple platforms to share the same apic code 6477867 x86 KDI should belong in the kernel 6477871 fix for 6232859 also needed for kmdb 6477872 MDB MMU commands need improvements 6477873 cpr debugging can be improved 6477877 mstate accounting should be reset when gethrtimef() is changed 6477915 32-bit x86 kernel should use interrupt gates for all traps 6477963 _update_sregs should be written in C 6477976 no longer need to capture [fs,gs]base in struct regs on every exception 6478642 Solaris needs to support multiple x86 platforms 6478648 ON could use an new & unencumbered xsvc driver 6478734 kernel lint not in C99 mode 6478826 swrand should have framework to lock individual pages 6480763 if interrupts can't be disabled, re-onlining an offline cpu fails 6481824 /dev/fb is not created if installation is done over tty 6483747 clock-tick processing should re-include threads waiting for I/O 6485872 use PTOU macro to access user area instead of old "u" from user.h 6486263 need way to extend kernel core dumps with pages that don't have page_t's 6486435 eeprom, prtdiag should only be platform specific where necessary 6486436 genunix mdb module makefiles duplicate list of files 6486437 intr_common.c should be common 6486445 /dev/mem needs support for page_t-less pages 6486451 cpu_pause() routine should be mach-specific 6486456 SIMULATOR_SUPPORT should die 6486832 x86 platform will need memlist/memseg locking 6486911 amd64 port not finished 6486972 platform TOD setting code may not have real TOD hdw to set 6492647 Better trap trace support for x-calls 6493613 apic_disable_intr() needs round robin fix 6497633 ctfmerge could allow for no ctf sections 6500637 floating point context switching is needlessly slow 6500656 move floating point configuration to C 6500666 need a means to override the setting of uname -m in the kernel build 6500669 update x86 defines 6502790 Files in the boot archive should be individually compressed 6503792 live upgrade environment + bfu + alternate root == incorrect menu.lst file 6504373 kmdb promif shouldn't needlessly busy-wait 6504374 ::interrupts could show level/edge 6506305 opteron erratum 123 should be enabled 6507629 porting x86 platform code to Xen 6510847 kobj.c is unaware of sparc hole between nucleus text and data (from dtrace)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3446
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
     1
/*
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
     2
 *  GRUB  --  GRand Unified Bootloader
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
     3
 *  Copyright (C) 2006  Free Software Foundation, Inc.
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
     4
 *
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
     5
 *  This program is free software; you can redistribute it and/or modify
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
     6
 *  it under the terms of the GNU General Public License as published by
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
     7
 *  the Free Software Foundation; either version 2 of the License, or
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
     8
 *  (at your option) any later version.
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
     9
 *
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    10
 *  This program is distributed in the hope that it will be useful,
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    11
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    12
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    13
 *  GNU General Public License for more details.
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    14
 *
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    15
 *  You should have received a copy of the GNU General Public License
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    16
 *  along with this program; if not, write to the Free Software
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    17
 *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    18
 */
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    19
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    20
/*
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    21
 * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    22
 * Use is subject to license terms.
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    23
 */
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    24
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    25
#ifndef	_SYS_CONTROLREGS_H
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    26
#define	_SYS_CONTROLREGS_H
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    27
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    28
#pragma ident	"%Z%%M%	%I%	%E% SMI"
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    29
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    30
#ifdef __cplusplus
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    31
extern "C" {
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    32
#endif
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    33
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    34
/*
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    35
 * This file describes the x86 architecture control registers which
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    36
 * are part of the privileged architecture.
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    37
 *
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    38
 * Many of these definitions are shared between IA-32-style and
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    39
 * AMD64-style processors.
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    40
 */
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    41
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    42
/* CR0 Register */
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    43
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    44
#define	CR0_PG	0x80000000		/* paging enabled	*/
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    45
#define	CR0_CD	0x40000000		/* cache disable	*/
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    46
#define	CR0_NW	0x20000000		/* not writethrough	*/
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    47
#define	CR0_AM	0x00040000		/* alignment mask	*/
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    48
#define	CR0_WP	0x00010000		/* write protect	*/
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    49
#define	CR0_NE	0x00000020		/* numeric error	*/
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    50
#define	CR0_ET	0x00000010		/* extension type	*/
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    51
#define	CR0_TS	0x00000008		/* task switch		*/
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    52
#define	CR0_EM	0x00000004		/* emulation		*/
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    53
#define	CR0_MP	0x00000002		/* monitor coprocessor	*/
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    54
#define	CR0_PE	0x00000001		/* protection enabled	*/
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    55
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    56
/* XX64 eliminate these compatibility defines */
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    57
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    58
#define	CR0_CE	CR0_CD
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    59
#define	CR0_WT	CR0_NW
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    60
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    61
#define	FMT_CR0	\
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    62
	"\20\40pg\37cd\36nw\35am\21wp\6ne\5et\4ts\3em\2mp\1pe"
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    63
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    64
/* CR3 Register */
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    65
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    66
#define	CR3_PCD	0x00000010		/* cache disable 		*/
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    67
#define	CR3_PWT 0x00000008		/* write through 		*/
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    68
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    69
#define	FMT_CR3	"\20\5pcd\4pwt"
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    70
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    71
/* CR4 Register */
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    72
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    73
#define	CR4_VME		0x0001		/* virtual-8086 mode extensions	*/
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    74
#define	CR4_PVI		0x0002		/* protected-mode virtual interrupts */
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    75
#define	CR4_TSD		0x0004		/* time stamp disable		*/
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    76
#define	CR4_DE		0x0008		/* debugging extensions		*/
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    77
#define	CR4_PSE		0x0010		/* page size extensions		*/
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    78
#define	CR4_PAE		0x0020		/* physical address extension	*/
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    79
#define	CR4_MCE		0x0040		/* machine check enable		*/
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    80
#define	CR4_PGE		0x0080		/* page global enable		*/
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    81
#define	CR4_PCE		0x0100		/* perf-monitoring counter enable */
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    82
#define	CR4_OSFXSR	0x0200		/* OS fxsave/fxrstor support	*/
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    83
#define	CR4_OSXMMEXCPT	0x0400		/* OS unmasked exception support */
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    84
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    85
#define	FMT_CR4	\
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    86
	"\20\13xmme\12fxsr\11pce\10pge\7mce\6pae\5pse\4de\3tsd\2pvi\1vme"
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    87
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    88
/* Intel's SYSENTER configuration registers */
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    89
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    90
#define	MSR_INTC_SEP_CS	0x174		/* kernel code selector MSR */
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    91
#define	MSR_INTC_SEP_ESP 0x175		/* kernel esp MSR */
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    92
#define	MSR_INTC_SEP_EIP 0x176		/* kernel eip MSR */
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    93
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    94
/* AMD's EFER register */
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    95
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    96
#define	MSR_AMD_EFER	0xc0000080	/* extended feature enable MSR */
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    97
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    98
#define	AMD_EFER_NXE	0x800		/* no-execute enable		*/
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
    99
#define	AMD_EFER_LMA	0x400		/* long mode active (read-only)	*/
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   100
#define	AMD_EFER_LME	0x100		/* long mode enable		*/
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   101
#define	AMD_EFER_SCE	0x001		/* system call extensions	*/
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   102
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   103
#define	FMT_AMD_EFER \
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   104
	"\20\14nxe\13lma\11lme\1sce"
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   105
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   106
/* AMD's SYSCFG register */
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   107
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   108
#define	MSR_AMD_SYSCFG	0xc0000010	/* system configuration MSR */
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   109
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   110
#define	AMD_SYSCFG_TOM2	0x200000	/* MtrrTom2En */
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   111
#define	AMD_SYSCFG_MVDM	0x100000	/* MtrrVarDramEn */
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   112
#define	AMD_SYSCFG_MFDM	0x080000	/* MtrrFixDramModEn */
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   113
#define	AMD_SYSCFG_MFDE	0x040000	/* MtrrFixDramEn */
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   114
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   115
#define	FMT_AMD_SYSCFG \
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   116
	"\20\26tom2\25mvdm\24mfdm\23mfde"
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   117
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   118
/* AMD's syscall/sysret MSRs */
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   119
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   120
#define	MSR_AMD_STAR	0xc0000081	/* %cs:%ss:%cs:%ss:%eip for syscall */
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   121
#define	MSR_AMD_LSTAR	0xc0000082	/* target %rip of 64-bit syscall */
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   122
#define	MSR_AMD_CSTAR	0xc0000083	/* target %rip of 32-bit syscall */
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   123
#define	MSR_AMD_SFMASK	0xc0000084	/* syscall flag mask */
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   124
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   125
/* AMD's FS.base and GS.base MSRs */
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   126
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   127
#define	MSR_AMD_FSBASE	0xc0000100	/* 64-bit base address for %fs */
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   128
#define	MSR_AMD_GSBASE	0xc0000101	/* 64-bit base address for %gs */
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   129
#define	MSR_AMD_KGSBASE	0xc0000102	/* swapgs swaps this with gsbase */
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   130
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   131
/* AMD's configuration MSRs, weakly documented in the revision guide */
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   132
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   133
#define	MSR_AMD_DC_CFG	0xc0011022
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   134
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   135
#define	AMD_DC_CFG_DIS_CNV_WC_SSO	(UINT64_C(1) << 3)
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   136
#define	AMD_DC_CFG_DIS_SMC_CHK_BUF	(UINT64_C(1) << 10)
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   137
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   138
/* AMD's HWCR MSR */
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   139
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   140
#define	MSR_AMD_HWCR	0xc0010015
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   141
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   142
#define	AMD_HWCR_FFDIS			0x00040	/* disable TLB Flush Filter */
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   143
#define	AMD_HWCR_MCI_STATUS_WREN	0x40000	/* enable write of MCi_STATUS */
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   144
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   145
/* AMD's NorthBridge Config MSR, SHOULD ONLY BE WRITTEN TO BY BIOS */
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   146
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   147
#define	MSR_AMD_NB_CFG	0xc001001f
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   148
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   149
#define	MSR_BU_CFG	0xc0011023
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   150
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   151
#define	AMD_NB_CFG_SRQ_HEARTBEAT	(UINT64_C(1) << 20)
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   152
#define	AMD_NB_CFG_SRQ_SPR		(UINT64_C(1) << 32)
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   153
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   154
/* AMD */
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   155
#define	MSR_AMD_PATCHLEVEL	0x8b
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   156
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   157
#ifdef __cplusplus
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   158
}
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   159
#endif
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   160
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents:
diff changeset
   161
#endif	/* !_SYS_CONTROLREGS_H */