Commit 2411e08e authored by David Mosberger's avatar David Mosberger

Merge tiger.hpl.hp.com:/data1/bk/vanilla/linux-2.5

into tiger.hpl.hp.com:/data1/bk/lia64/to-linus-2.5
parents eb40c469 0111cf16
...@@ -688,7 +688,7 @@ GLOBAL_ENTRY(ia64_leave_syscall) ...@@ -688,7 +688,7 @@ GLOBAL_ENTRY(ia64_leave_syscall)
mov b7=r0 // clear b7 mov b7=r0 // clear b7
;; ;;
(pUStk) st1 [r14]=r3 (pUStk) st1 [r14]=r3
movl r17=THIS_CPU(ia64_phys_stacked_size_p8) addl r17=THIS_CPU(ia64_phys_stacked_size_p8),r0
;; ;;
mov r16=ar.bsp // get existing backing store pointer mov r16=ar.bsp // get existing backing store pointer
srlz.i // ensure interruption collection is off srlz.i // ensure interruption collection is off
...@@ -841,7 +841,7 @@ GLOBAL_ENTRY(ia64_leave_kernel) ...@@ -841,7 +841,7 @@ GLOBAL_ENTRY(ia64_leave_kernel)
shr.u r18=r19,16 // get byte size of existing "dirty" partition shr.u r18=r19,16 // get byte size of existing "dirty" partition
;; ;;
mov r16=ar.bsp // get existing backing store pointer mov r16=ar.bsp // get existing backing store pointer
movl r17=THIS_CPU(ia64_phys_stacked_size_p8) addl r17=THIS_CPU(ia64_phys_stacked_size_p8),r0
;; ;;
ld4 r17=[r17] // r17 = cpu_data->phys_stacked_size_p8 ld4 r17=[r17] // r17 = cpu_data->phys_stacked_size_p8
(pKStk) br.cond.dpnt skip_rbs_switch (pKStk) br.cond.dpnt skip_rbs_switch
......
...@@ -165,7 +165,7 @@ ENTRY(fsys_gettimeofday) ...@@ -165,7 +165,7 @@ ENTRY(fsys_gettimeofday)
.altrp b6 .altrp b6
.body .body
add r9=TI_FLAGS+IA64_TASK_SIZE,r16 add r9=TI_FLAGS+IA64_TASK_SIZE,r16
movl r3=THIS_CPU(cpu_info) addl r3=THIS_CPU(cpu_info),r0
mov.m r31=ar.itc // put time stamp into r31 (ITC) == now (35 cyc) mov.m r31=ar.itc // put time stamp into r31 (ITC) == now (35 cyc)
#ifdef CONFIG_SMP #ifdef CONFIG_SMP
...@@ -177,7 +177,7 @@ ENTRY(fsys_gettimeofday) ...@@ -177,7 +177,7 @@ ENTRY(fsys_gettimeofday)
movl r19=xtime // xtime is a timespec struct movl r19=xtime // xtime is a timespec struct
ld8 r10=[r10] // r10 <- __per_cpu_offset[0] ld8 r10=[r10] // r10 <- __per_cpu_offset[0]
movl r21=THIS_CPU(cpu_info) addl r21=THIS_CPU(cpu_info),r0
;; ;;
add r10=r21, r10 // r10 <- &cpu_data(time_keeper_id) add r10=r21, r10 // r10 <- &cpu_data(time_keeper_id)
tbit.nz p8,p0 = r2, IA64_SAL_PLATFORM_FEATURE_ITC_DRIFT_BIT tbit.nz p8,p0 = r2, IA64_SAL_PLATFORM_FEATURE_ITC_DRIFT_BIT
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* This is where we statically allocate and initialize the initial * This is where we statically allocate and initialize the initial
* task. * task.
* *
* Copyright (C) 1999, 2002 Hewlett-Packard Co * Copyright (C) 1999, 2002-2003 Hewlett-Packard Co
* David Mosberger-Tang <davidm@hpl.hp.com> * David Mosberger-Tang <davidm@hpl.hp.com>
*/ */
...@@ -34,7 +34,7 @@ static union { ...@@ -34,7 +34,7 @@ static union {
struct thread_info thread_info; struct thread_info thread_info;
} s; } s;
unsigned long stack[KERNEL_STACK_SIZE/sizeof (unsigned long)]; unsigned long stack[KERNEL_STACK_SIZE/sizeof (unsigned long)];
} init_task_mem __attribute__((section(".data.init_task"))) = {{ } init_task_mem asm ("init_task_mem") __attribute__((section(".data.init_task"))) = {{
.task = INIT_TASK(init_task_mem.s.task), .task = INIT_TASK(init_task_mem.s.task),
.thread_info = INIT_THREAD_INFO(init_task_mem.s.task) .thread_info = INIT_THREAD_INFO(init_task_mem.s.task)
}}; }};
......
...@@ -83,12 +83,11 @@ unsigned long ...@@ -83,12 +83,11 @@ unsigned long
itc_get_offset (void) itc_get_offset (void)
{ {
unsigned long elapsed_cycles, lost = jiffies - wall_jiffies; unsigned long elapsed_cycles, lost = jiffies - wall_jiffies;
unsigned long now, last_tick; unsigned long now = ia64_get_itc(), last_tick;
last_tick = (cpu_data(TIME_KEEPER_ID)->itm_next last_tick = (cpu_data(TIME_KEEPER_ID)->itm_next
- (lost + 1)*cpu_data(TIME_KEEPER_ID)->itm_delta); - (lost + 1)*cpu_data(TIME_KEEPER_ID)->itm_delta);
now = ia64_get_itc();
if (unlikely((long) (now - last_tick) < 0)) { if (unlikely((long) (now - last_tick) < 0)) {
printk(KERN_ERR "CPU %d: now < last_tick (now=0x%lx,last_tick=0x%lx)!\n", printk(KERN_ERR "CPU %d: now < last_tick (now=0x%lx,last_tick=0x%lx)!\n",
smp_processor_id(), now, last_tick); smp_processor_id(), now, last_tick);
......
...@@ -124,7 +124,7 @@ subsys_initcall(pci_acpi_init); ...@@ -124,7 +124,7 @@ subsys_initcall(pci_acpi_init);
/* Called by ACPI when it finds a new root bus. */ /* Called by ACPI when it finds a new root bus. */
static struct pci_controller * static struct pci_controller * __devinit
alloc_pci_controller (int seg) alloc_pci_controller (int seg)
{ {
struct pci_controller *controller; struct pci_controller *controller;
...@@ -138,7 +138,7 @@ alloc_pci_controller (int seg) ...@@ -138,7 +138,7 @@ alloc_pci_controller (int seg)
return controller; return controller;
} }
static int static int __devinit
alloc_resource (char *name, struct resource *root, unsigned long start, unsigned long end, unsigned long flags) alloc_resource (char *name, struct resource *root, unsigned long start, unsigned long end, unsigned long flags)
{ {
struct resource *res; struct resource *res;
...@@ -159,7 +159,7 @@ alloc_resource (char *name, struct resource *root, unsigned long start, unsigned ...@@ -159,7 +159,7 @@ alloc_resource (char *name, struct resource *root, unsigned long start, unsigned
return 0; return 0;
} }
static u64 static u64 __devinit
add_io_space (struct acpi_resource_address64 *addr) add_io_space (struct acpi_resource_address64 *addr)
{ {
u64 offset; u64 offset;
...@@ -190,7 +190,7 @@ add_io_space (struct acpi_resource_address64 *addr) ...@@ -190,7 +190,7 @@ add_io_space (struct acpi_resource_address64 *addr)
return IO_SPACE_BASE(i); return IO_SPACE_BASE(i);
} }
static acpi_status static acpi_status __devinit
count_window (struct acpi_resource *resource, void *data) count_window (struct acpi_resource *resource, void *data)
{ {
unsigned int *windows = (unsigned int *) data; unsigned int *windows = (unsigned int *) data;
...@@ -211,7 +211,7 @@ struct pci_root_info { ...@@ -211,7 +211,7 @@ struct pci_root_info {
char *name; char *name;
}; };
static acpi_status static acpi_status __devinit
add_window (struct acpi_resource *res, void *data) add_window (struct acpi_resource *res, void *data)
{ {
struct pci_root_info *info = (struct pci_root_info *) data; struct pci_root_info *info = (struct pci_root_info *) data;
...@@ -252,7 +252,7 @@ add_window (struct acpi_resource *res, void *data) ...@@ -252,7 +252,7 @@ add_window (struct acpi_resource *res, void *data)
return AE_OK; return AE_OK;
} }
struct pci_bus * struct pci_bus * __devinit
pci_acpi_scan_root (struct acpi_device *device, int domain, int bus) pci_acpi_scan_root (struct acpi_device *device, int domain, int bus)
{ {
struct pci_root_info info; struct pci_root_info info;
......
...@@ -20,9 +20,9 @@ ...@@ -20,9 +20,9 @@
#include <asm/percpu.h> #include <asm/percpu.h>
/* 0xa000000000000000 - 0xa000000000000000+PERCPU_PAGE_SIZE remain unmapped */ /* 0xa000000000000000 - 0xa000000000000000+PERCPU_PAGE_SIZE remain unmapped */
#define PERCPU_ADDR (0xa000000000000000 + PERCPU_PAGE_SIZE) #define GATE_ADDR (0xa000000000000000 + PERCPU_PAGE_SIZE)
#define GATE_ADDR (0xa000000000000000 + 2*PERCPU_PAGE_SIZE)
#define KERNEL_START 0xa000000100000000 #define KERNEL_START 0xa000000100000000
#define PERCPU_ADDR (-PERCPU_PAGE_SIZE)
#ifndef __ASSEMBLY__ #ifndef __ASSEMBLY__
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment