patch-2.2.15 linux/arch/alpha/kernel/core_tsunami.c
Next file: linux/arch/alpha/kernel/entry.S
Previous file: linux/arch/alpha/kernel/core_t2.c
Back to the patch index
Back to the overall index
- Lines: 49
- Date:
Fri Apr 21 12:45:44 2000
- Orig file:
v2.2.14/arch/alpha/kernel/core_tsunami.c
- Orig date:
Tue Jan 4 21:18:39 2000
diff -u --new-file --recursive --exclude-from ../../exclude v2.2.14/arch/alpha/kernel/core_tsunami.c linux/arch/alpha/kernel/core_tsunami.c
@@ -98,12 +98,12 @@
"pci_addr=0x%p, type1=0x%p)\n",
bus, device_fn, where, pci_addr, type1));
- *type1 = (bus != 0);
+ *type1 = (bus != 0);
- if (hose->pci_first_busno == bus)
+ if (hose->pci_first_busno == bus)
bus = 0;
- addr = (bus << 16) | (device_fn << 8) | where;
+ addr = (bus << 16) | (device_fn << 8) | where;
addr |= hose->pci_config_space;
*pci_addr = addr;
@@ -266,12 +266,20 @@
*hose_tail = hose;
hose_tail = &hose->next;
- hose->pci_io_space = TSUNAMI_IO(index);
- hose->pci_mem_space = TSUNAMI_MEM(index);
hose->pci_config_space = TSUNAMI_CONF(index);
- hose->pci_sparse_space = 0;
hose->pci_hose_index = index;
+ /* This is for userland consumption. For some reason, the 40-bit
+ PIO bias that we use in the kernel through KSEG didn't work for
+ the page table based user mappings. So make sure we get the
+ 43-bit PIO bias. */
+ hose->pci_sparse_io_space = 0;
+ hose->pci_sparse_mem_space = 0;
+ hose->pci_dense_io_space
+ = (TSUNAMI_IO(index) & 0xffffffffff) | 0x80000000000;
+ hose->pci_dense_mem_space
+ = (TSUNAMI_MEM(index) & 0xffffffffff) | 0x80000000000;
+
switch (alpha_use_srm_setup)
{
default:
@@ -329,7 +337,7 @@
{
#ifdef NXM_MACHINE_CHECKS_ON_TSUNAMI
extern asmlinkage void entInt(void);
- unsigned long tmp;
+ unsigned long tmp;
/* Ho hum.. init_arch is called before init_IRQ, but we need to be
able to handle machine checks. So install the handler now. */
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)