Automatic merge of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git branch HEAD
This commit is contained in:
commit
c1ef1f351d
|
@ -383,6 +383,17 @@ static void __init process_switch(char c)
|
||||||
/* Use PROM debug console. */
|
/* Use PROM debug console. */
|
||||||
register_console(&prom_debug_console);
|
register_console(&prom_debug_console);
|
||||||
break;
|
break;
|
||||||
|
case 'P':
|
||||||
|
/* Force UltraSPARC-III P-Cache on. */
|
||||||
|
if (tlb_type != cheetah) {
|
||||||
|
printk("BOOT: Ignoring P-Cache force option.\n");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
cheetah_pcache_forced_on = 1;
|
||||||
|
add_taint(TAINT_MACHINE_CHECK);
|
||||||
|
cheetah_enable_pcache();
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
printk("Unknown boot switch (-%c)\n", c);
|
printk("Unknown boot switch (-%c)\n", c);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -123,6 +123,9 @@ void __init smp_callin(void)
|
||||||
|
|
||||||
smp_setup_percpu_timer();
|
smp_setup_percpu_timer();
|
||||||
|
|
||||||
|
if (cheetah_pcache_forced_on)
|
||||||
|
cheetah_enable_pcache();
|
||||||
|
|
||||||
local_irq_enable();
|
local_irq_enable();
|
||||||
|
|
||||||
calibrate_delay();
|
calibrate_delay();
|
||||||
|
|
|
@ -421,6 +421,25 @@ asmlinkage void cee_log(unsigned long ce_status,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int cheetah_pcache_forced_on;
|
||||||
|
|
||||||
|
void cheetah_enable_pcache(void)
|
||||||
|
{
|
||||||
|
unsigned long dcr;
|
||||||
|
|
||||||
|
printk("CHEETAH: Enabling P-Cache on cpu %d.\n",
|
||||||
|
smp_processor_id());
|
||||||
|
|
||||||
|
__asm__ __volatile__("ldxa [%%g0] %1, %0"
|
||||||
|
: "=r" (dcr)
|
||||||
|
: "i" (ASI_DCU_CONTROL_REG));
|
||||||
|
dcr |= (DCU_PE | DCU_HPE | DCU_SPE | DCU_SL);
|
||||||
|
__asm__ __volatile__("stxa %0, [%%g0] %1\n\t"
|
||||||
|
"membar #Sync"
|
||||||
|
: /* no outputs */
|
||||||
|
: "r" (dcr), "i" (ASI_DCU_CONTROL_REG));
|
||||||
|
}
|
||||||
|
|
||||||
/* Cheetah error trap handling. */
|
/* Cheetah error trap handling. */
|
||||||
static unsigned long ecache_flush_physbase;
|
static unsigned long ecache_flush_physbase;
|
||||||
static unsigned long ecache_flush_linesize;
|
static unsigned long ecache_flush_linesize;
|
||||||
|
|
|
@ -151,6 +151,8 @@ static struct ata_port_info pdc_port_info[] = {
|
||||||
static struct pci_device_id pdc_ata_pci_tbl[] = {
|
static struct pci_device_id pdc_ata_pci_tbl[] = {
|
||||||
{ PCI_VENDOR_ID_PROMISE, 0x3371, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
|
{ PCI_VENDOR_ID_PROMISE, 0x3371, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
|
||||||
board_2037x },
|
board_2037x },
|
||||||
|
{ PCI_VENDOR_ID_PROMISE, 0x3571, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
|
||||||
|
board_2037x },
|
||||||
{ PCI_VENDOR_ID_PROMISE, 0x3373, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
|
{ PCI_VENDOR_ID_PROMISE, 0x3373, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
|
||||||
board_2037x },
|
board_2037x },
|
||||||
{ PCI_VENDOR_ID_PROMISE, 0x3375, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
|
{ PCI_VENDOR_ID_PROMISE, 0x3375, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
|
||||||
|
|
|
@ -82,6 +82,7 @@ static struct pci_device_id sil_pci_tbl[] = {
|
||||||
{ 0x1095, 0x3114, PCI_ANY_ID, PCI_ANY_ID, 0, 0, sil_3114 },
|
{ 0x1095, 0x3114, PCI_ANY_ID, PCI_ANY_ID, 0, 0, sil_3114 },
|
||||||
{ 0x1002, 0x436e, PCI_ANY_ID, PCI_ANY_ID, 0, 0, sil_3112 },
|
{ 0x1002, 0x436e, PCI_ANY_ID, PCI_ANY_ID, 0, 0, sil_3112 },
|
||||||
{ 0x1002, 0x4379, PCI_ANY_ID, PCI_ANY_ID, 0, 0, sil_3112 },
|
{ 0x1002, 0x4379, PCI_ANY_ID, PCI_ANY_ID, 0, 0, sil_3112 },
|
||||||
|
{ 0x1002, 0x437a, PCI_ANY_ID, PCI_ANY_ID, 0, 0, sil_3112 },
|
||||||
{ } /* terminate list */
|
{ } /* terminate list */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -48,6 +48,9 @@ enum ultra_tlb_layout {
|
||||||
|
|
||||||
extern enum ultra_tlb_layout tlb_type;
|
extern enum ultra_tlb_layout tlb_type;
|
||||||
|
|
||||||
|
extern int cheetah_pcache_forced_on;
|
||||||
|
extern void cheetah_enable_pcache(void);
|
||||||
|
|
||||||
#define sparc64_highest_locked_tlbent() \
|
#define sparc64_highest_locked_tlbent() \
|
||||||
(tlb_type == spitfire ? \
|
(tlb_type == spitfire ? \
|
||||||
SPITFIRE_HIGHEST_LOCKED_TLBENT : \
|
SPITFIRE_HIGHEST_LOCKED_TLBENT : \
|
||||||
|
|
Loading…
Reference in New Issue