From: David Mosberger <davidm@hpl.hp.com>
To: linux-ia64@vger.kernel.org
Subject: [Linux-ia64] kernel update (relative to 2.4.1)
Date: Wed, 31 Jan 2001 20:32:36 +0000 [thread overview]
Message-ID: <marc-linux-ia64-105590693005112@msgid-missing> (raw)
In-Reply-To: <marc-linux-ia64-105590678205111@msgid-missing>
Here is a quick update of last week's patch that brings us in sync
with 2.4.1. As usual, the patch is available at ftp.*.kernel.org in
/pub/linux/kernel/ports/ia64//linux-2.4.1-ia64-010131.diff*.
Summary of changes:
- add Don's IA-32 patch that I missed last week
- add stop bit in integer division that Chuck found to be
missing; as far as I know, this didn't cause any actual
problems on Itanium, but it was clearly wrong
- schedule save_switch_stack/load_switch_stack for Itanium
- Gerrit: fix config.in so it works with "make xconfig" again
- print fpswa fault message as KERN_WARNING; use "dmesg -n 4"
to get rid of it
Enjoy,
--david
diff -urN linux-davidm/arch/ia64/config.in linux-2.4.1-lia/arch/ia64/config.in
--- linux-davidm/arch/ia64/config.in Wed Jan 31 11:46:51 2001
+++ linux-2.4.1-lia/arch/ia64/config.in Wed Jan 31 10:17:50 2001
@@ -37,22 +37,32 @@
16KB CONFIG_IA64_PAGE_SIZE_16KB \
64KB CONFIG_IA64_PAGE_SIZE_64KB" 16KB
-if [ "$CONFIG_IA64_DIG" = "y" ]; then
+if [ "$CONFIG_IA64_DIG" = "y" -o "$CONFIG_IA64_SGI_SN1" = "y" ]; then
define_bool CONFIG_ITANIUM y
define_bool CONFIG_IA64_BRL_EMU y
+fi
+
+if [ "$CONFIG_ITANIUM" = "y" ]; then
bool ' Enable Itanium A-step specific code' CONFIG_ITANIUM_ASTEP_SPECIFIC
bool ' Enable Itanium B-step specific code' CONFIG_ITANIUM_BSTEP_SPECIFIC
if [ "$CONFIG_ITANIUM_BSTEP_SPECIFIC" = "y" ]; then
bool ' Enable Itanium B0-step specific code' CONFIG_ITANIUM_B0_SPECIFIC
+ fi
+ if [ "$CONFIG_ITANIUM_BSTEP_SPECIFIC" = "y" ]; then
bool ' Enable Itanium B1-step specific code' CONFIG_ITANIUM_B1_SPECIFIC
+ fi
+ if [ "$CONFIG_ITANIUM_BSTEP_SPECIFIC" = "y" ]; then
bool ' Enable Itanium B2-step specific code' CONFIG_ITANIUM_B2_SPECIFIC
fi
bool ' Enable Itanium C-step specific code' CONFIG_ITANIUM_CSTEP_SPECIFIC
if [ "$CONFIG_ITANIUM_CSTEP_SPECIFIC" = "y" ]; then
bool ' Enable Itanium C0-step specific code' CONFIG_ITANIUM_C0_SPECIFIC
fi
- bool ' Force interrupt redirection' CONFIG_IA64_HAVE_IRQREDIR
bool ' Enable use of global TLB purge instruction (ptc.g)' CONFIG_ITANIUM_PTCG
+fi
+
+if [ "$CONFIG_IA64_DIG" = "y" ]; then
+ bool ' Force interrupt redirection' CONFIG_IA64_HAVE_IRQREDIR
bool ' Enable SoftSDV hacks' CONFIG_IA64_SOFTSDV_HACKS
bool ' Enable IA-64 Machine Check Abort' CONFIG_IA64_MCA
bool ' Enable ACPI 2.0 with errata 1.3' CONFIG_ACPI20
@@ -65,11 +75,6 @@
fi
if [ "$CONFIG_IA64_SGI_SN1" = "y" ]; then
- bool ' Enable use of global TLB purge instruction (ptc.g)' CONFIG_ITANIUM_PTCG
- bool ' Enable Itanium B-step specific code' CONFIG_ITANIUM_BSTEP_SPECIFIC
- if [ "$CONFIG_ITANIUM_BSTEP_SPECIFIC" = "y" ]; then
- bool ' Enable Itanium B0-step specific code' CONFIG_ITANIUM_B0_SPECIFIC
- fi
bool ' Enable SGI Medusa Simulator Support' CONFIG_IA64_SGI_SN1_SIM n
define_bool CONFIG_DEVFS_DEBUG y
define_bool CONFIG_DEVFS_FS y
diff -urN linux-davidm/arch/ia64/ia32/ia32_entry.S linux-2.4.1-lia/arch/ia64/ia32/ia32_entry.S
--- linux-davidm/arch/ia64/ia32/ia32_entry.S Wed Jan 31 11:46:51 2001
+++ linux-2.4.1-lia/arch/ia64/ia32/ia32_entry.S Wed Jan 31 10:18:02 2001
@@ -160,8 +160,8 @@
data8 sys32_ni_syscall /* sys_stime is not supported on IA64 */ /* 25 */
data8 sys32_ptrace
data8 sys32_alarm
- data8 sys_pause
data8 sys32_ni_syscall
+ data8 sys_pause
data8 ia32_utime /* 30 */
data8 sys32_ni_syscall /* old stty syscall holder */
data8 sys32_ni_syscall /* old gtty syscall holder */
@@ -276,7 +276,7 @@
data8 sys32_getdents
data8 sys32_select
data8 sys_flock
- data8 sys_msync
+ data8 sys32_msync
data8 sys32_readv /* 145 */
data8 sys32_writev
data8 sys_getsid
diff -urN linux-davidm/arch/ia64/ia32/sys_ia32.c linux-2.4.1-lia/arch/ia64/ia32/sys_ia32.c
--- linux-davidm/arch/ia64/ia32/sys_ia32.c Wed Jan 31 11:46:51 2001
+++ linux-2.4.1-lia/arch/ia64/ia32/sys_ia32.c Wed Jan 31 10:18:14 2001
@@ -655,7 +655,7 @@
ia32_utime(char * filename, struct utimbuf_32 *times32)
{
mm_segment_t old_fs = get_fs();
- struct timeval tv[2];
+ struct timeval tv[2], *tvp;
long ret;
if (times32) {
@@ -664,15 +664,10 @@
get_user(tv[1].tv_sec, ×32->mtime);
tv[1].tv_usec = 0;
set_fs (KERNEL_DS);
- } else {
- set_fs (KERNEL_DS);
- ret = sys_gettimeofday(&tv[0], 0);
- if (ret < 0)
- goto out;
- tv[1] = tv[0];
- }
- ret = sys_utimes(filename, tv);
- out:
+ tvp = tv;
+ } else
+ tvp = NULL;
+ ret = sys_utimes(filename, tvp);
set_fs (old_fs);
return ret;
}
@@ -2497,7 +2492,7 @@
case F_GETLK:
case F_SETLK:
case F_SETLKW:
- if(cmd != F_GETLK && get_flock32(&f, (struct flock32 *)((long)arg)))
+ if(get_flock32(&f, (struct flock32 *)((long)arg)))
return -EFAULT;
old_fs = get_fs();
set_fs(KERNEL_DS);
@@ -2667,14 +2662,25 @@
return(ret);
}
-asmlinkage long sys_msync(unsigned long start, size_t len, int flags);
-
asmlinkage int
sys_pause (void)
{
current->state = TASK_INTERRUPTIBLE;
schedule();
return -ERESTARTNOHAND;
+}
+
+asmlinkage long sys_msync(unsigned long start, size_t len, int flags);
+
+asmlinkage int
+sys32_msync(unsigned int start, unsigned int len, int flags)
+{
+ unsigned int addr;
+
+ if (OFFSET4K(start))
+ return -EINVAL;
+ addr = start & PAGE_MASK;
+ return(sys_msync(addr, len + (start - addr), flags));
}
#ifdef NOTYET /* UNTESTED FOR IA64 FROM HERE DOWN */
diff -urN linux-davidm/arch/ia64/kernel/efi_stub.S linux-2.4.1-lia/arch/ia64/kernel/efi_stub.S
--- linux-davidm/arch/ia64/kernel/efi_stub.S Fri Jul 14 16:08:11 2000
+++ linux-2.4.1-lia/arch/ia64/kernel/efi_stub.S Wed Jan 31 10:18:45 2001
@@ -58,7 +58,7 @@
;;
mov loc2=gp // save global pointer
mov loc4=ar.rsc // save RSE configuration
- mov ar.rsc=r0 // put RSE in enforced lazy, LE mode
+ mov ar.rsc=0 // put RSE in enforced lazy, LE mode
;;
ld8 gp=[in0] // load EFI function's global pointer
@@ -80,7 +80,7 @@
mov out5=in6
mov out6=in7
br.call.sptk.few rp¶ // call the EFI function
-.ret1: mov ar.rsc=r0 // put RSE in enforced lazy, LE mode
+.ret1: mov ar.rsc=0 // put RSE in enforced lazy, LE mode
mov r16=loc3
br.call.sptk.few rp=ia64_switch_mode // return to virtual mode
.ret2: mov ar.rsc=loc4 // restore RSE configuration
diff -urN linux-davidm/arch/ia64/kernel/entry.S linux-2.4.1-lia/arch/ia64/kernel/entry.S
--- linux-davidm/arch/ia64/kernel/entry.S Wed Jan 31 11:46:51 2001
+++ linux-2.4.1-lia/arch/ia64/kernel/entry.S Wed Jan 31 10:19:12 2001
@@ -208,92 +208,102 @@
UNW(.prologue)
UNW(.altrp b7)
flushrs // flush dirty regs to backing store (must be first in insn group)
+ UNW(.save @priunat,r17)
mov r17=ar.unat // preserve caller's
- adds r2\x16,sp // r2 = &sw->caller_unat
+ UNW(.body)
+#if !defined(CONFIG_ITANIUM_ASTEP_SPECIFIC)
+ adds r3€,sp
;;
- mov r18=ar.fpsr // preserve fpsr
- mov ar.rsc=r0 // put RSE in mode: enforced lazy, little endian, pl 0
+ lfetch.fault.excl.nt1 [r3],128
+#endif
+ mov ar.rsc=0 // put RSE in mode: enforced lazy, little endian, pl 0
+#if !defined(CONFIG_ITANIUM_ASTEP_SPECIFIC)
+ adds r2\x16+128,sp
;;
- mov r19=ar.rnat
- adds r3$,sp // r3 = &sw->ar_fpsr
+ lfetch.fault.excl.nt1 [r2],128
+ lfetch.fault.excl.nt1 [r3],128
+#endif
+ adds r14=SW(R4)+16,sp
+#if !defined(CONFIG_ITANIUM_ASTEP_SPECIFIC)
+ ;;
+ lfetch.fault.excl [r2]
+ lfetch.fault.excl [r3]
+#endif
+ adds r15=SW(R5)+16,sp
;;
- .savesp ar.unat,SW(CALLER_UNAT)
- st8 [r2]=r17,16
- .savesp ar.fpsr,SW(AR_FPSR)
- st8 [r3]=r18,24
+ mov r18=ar.fpsr // preserve fpsr
+ mov r19=ar.rnat
+ add r2=SW(F2)+16,sp // r2 = &sw->f2
+.mem.offset 0,0; st8.spill [r14]=r4,16 // spill r4
+.mem.offset 8,0; st8.spill [r15]=r5,16 // spill r5
+ add r3=SW(F3)+16,sp // r3 = &sw->f3
;;
- UNW(.body)
stf.spill [r2]ò,32
stf.spill [r3]ó,32
mov r21°
+.mem.offset 0,0; st8.spill [r14]=r6,16 // spill r6
+.mem.offset 8,0; st8.spill [r15]=r7,16 // spill r7
+ mov r22±
;;
+ // since we're done with the spills, read and save ar.unat:
+ mov r29=ar.unat // M-unit
+ mov r20=ar.bspstore // M-unit
+ mov r23²
stf.spill [r2]ô,32
stf.spill [r3]õ,32
+ mov r24³
;;
+ st8 [r14]=r21,16 // save b0
+ st8 [r15]=r22,16 // save b1
+ mov r25´
stf.spill [r2]ñ0,32
stf.spill [r3]ñ1,32
- mov r22±
+ mov r26µ
;;
+ st8 [r14]=r23,16 // save b2
+ st8 [r15]=r24,16 // save b3
+ mov r21=ar.lc // I-unit
stf.spill [r2]ñ2,32
stf.spill [r3]ñ3,32
- mov r23²
;;
+ st8 [r14]=r25,16 // save b4
+ st8 [r15]=r26,16 // save b5
stf.spill [r2]ñ4,32
stf.spill [r3]ñ5,32
- mov r24³
;;
+ st8 [r14]=r16 // save ar.pfs
+ st8 [r15]=r21 // save ar.lc
stf.spill [r2]ñ6,32
stf.spill [r3]ñ7,32
- mov r25´
;;
stf.spill [r2]ñ8,32
stf.spill [r3]ñ9,32
- mov r26µ
;;
stf.spill [r2]ò0,32
stf.spill [r3]ò1,32
- mov r17=ar.lc // I-unit
;;
stf.spill [r2]ò2,32
stf.spill [r3]ò3,32
;;
stf.spill [r2]ò4,32
stf.spill [r3]ò5,32
+ add r14=SW(CALLER_UNAT)+16,sp
;;
stf.spill [r2]ò6,32
stf.spill [r3]ò7,32
+ add r15=SW(AR_FPSR)+16,sp
;;
stf.spill [r2]ò8,32
stf.spill [r3]ò9,32
- ;;
- stf.spill [r2]ó0,32
- stf.spill [r3]ó1,24
- ;;
-.mem.offset 0,0; st8.spill [r2]=r4,16
-.mem.offset 8,0; st8.spill [r3]=r5,16
- ;;
-.mem.offset 0,0; st8.spill [r2]=r6,16
-.mem.offset 8,0; st8.spill [r3]=r7,16
- ;;
- st8 [r2]=r21,16 // save b0
- st8 [r3]=r22,16 // save b1
- /* since we're done with the spills, read and save ar.unat: */
- mov r18=ar.unat // M-unit
- mov r20=ar.bspstore // M-unit
- ;;
- st8 [r2]=r23,16 // save b2
- st8 [r3]=r24,16 // save b3
- ;;
- st8 [r2]=r25,16 // save b4
- st8 [r3]=r26,16 // save b5
- ;;
- st8 [r2]=r16,16 // save ar.pfs
- st8 [r3]=r17,16 // save ar.lc
+ st8 [r14]=r17 // save caller_unat
+ st8 [r15]=r18 // save fpsr
mov r21=pr
;;
- st8 [r2]=r18,16 // save ar.unat
+ stf.spill [r2]ó0,(SW(AR_UNAT)-SW(F30))
+ stf.spill [r3]ó1,(SW(AR_RNAT)-SW(F31))
+ ;;
+ st8 [r2]=r29,16 // save ar.unat
st8 [r3]=r19,16 // save ar.rnat
- mov b7=r28
;;
st8 [r2]=r20 // save ar.bspstore
st8 [r3]=r21 // save predicate registers
@@ -303,16 +313,25 @@
/*
* load_switch_stack:
+ * - "invala" MUST be done at call site (normally in DO_LOAD_SWITCH_STACK)
* - b7 holds address to return to
+ * - must not touch r8-r11
*/
ENTRY(load_switch_stack)
UNW(.prologue)
UNW(.altrp b7)
- invala // invalidate ALAT
UNW(.body)
- adds r2=IA64_SWITCH_STACK_B0_OFFSET+16,sp // get pointer to switch_stack.b0
- mov ar.rsc=r0 // put RSE into enforced lazy mode
- adds r3=IA64_SWITCH_STACK_B0_OFFSET+24,sp // get pointer to switch_stack.b1
+#if !defined(CONFIG_ITANIUM_ASTEP_SPECIFIC)
+ lfetch.fault.nt1 [sp]
+#endif
+ adds r2=SW(AR_BSPSTORE)+16,sp
+ adds r3=SW(AR_UNAT)+16,sp
+ mov ar.rsc=0 // put RSE into enforced lazy mode
+ adds r14=SW(CALLER_UNAT)+16,sp
+ adds r15=SW(AR_FPSR)+16,sp
+ ;;
+ ld8 r27=[r2],(SW(B0)-SW(AR_BSPSTORE)) // bspstore
+ ld8 r29=[r3],(SW(B1)-SW(AR_UNAT)) // unat
;;
ld8 r21=[r2],16 // restore b0
ld8 r22=[r3],16 // restore b1
@@ -323,84 +342,77 @@
ld8 r25=[r2],16 // restore b4
ld8 r26=[r3],16 // restore b5
;;
- ld8 r16=[r2],16 // restore ar.pfs
- ld8 r17=[r3],16 // restore ar.lc
+ ld8 r16=[r2],(SW(PR)-SW(AR_PFS)) // ar.pfs
+ ld8 r17=[r3],(SW(AR_RNAT)-SW(AR_LC)) // ar.lc
;;
- ld8 r18=[r2],16 // restore ar.unat
- ld8 r19=[r3],16 // restore ar.rnat
- mov b0=r21
+ ld8 r28=[r2] // restore pr
+ ld8 r30=[r3] // restore rnat
;;
- ld8 r20=[r2] // restore ar.bspstore
- ld8 r21=[r3] // restore predicate registers
- mov ar.pfs=r16
+ ld8 r18=[r14],16 // restore caller's unat
+ ld8 r19=[r15],24 // restore fpsr
;;
- mov ar.bspstore=r20
+ ldf.fill f2=[r14],32
+ ldf.fill f3=[r15],32
;;
- loadrs // invalidate stacked regs outside current frame
- adds r2\x16-IA64_SWITCH_STACK_SIZE,r2 // get pointer to switch_stack.caller_unat
- ;; // stop bit for rnat dependency
- mov ar.rnat=r19
- mov ar.unat=r18 // establish unat holding the NaT bits for r4-r7
- adds r3\x16-IA64_SWITCH_STACK_SIZE,r3 // get pointer to switch_stack.ar_fpsr
+ ldf.fill f4=[r14],32
+ ldf.fill f5=[r15],32
;;
- ld8 r18=[r2],16 // restore caller's unat
- ld8 r19=[r3],24 // restore fpsr
- mov ar.lc=r17
+ ldf.fill f10=[r14],32
+ ldf.fill f11=[r15],32
;;
- ldf.fill f2=[r2],32
- ldf.fill f3=[r3],32
- mov pr=r21,-1
+ ldf.fill f12=[r14],32
+ ldf.fill f13=[r15],32
;;
- ldf.fill f4=[r2],32
- ldf.fill f5=[r3],32
+ ldf.fill f14=[r14],32
+ ldf.fill f15=[r15],32
;;
- ldf.fill f10=[r2],32
- ldf.fill f11=[r3],32
+ ldf.fill f16=[r14],32
+ ldf.fill f17=[r15],32
+ ;;
+ ldf.fill f18=[r14],32
+ ldf.fill f19=[r15],32
+ mov b0=r21
+ ;;
+ ldf.fill f20=[r14],32
+ ldf.fill f21=[r15],32
mov b1=r22
;;
- ldf.fill f12=[r2],32
- ldf.fill f13=[r3],32
+ ldf.fill f22=[r14],32
+ ldf.fill f23=[r15],32
mov b2=r23
;;
- ldf.fill f14=[r2],32
- ldf.fill f15=[r3],32
+ mov ar.bspstore=r27
+ mov ar.unat=r29 // establish unat holding the NaT bits for r4-r7
mov b3=r24
;;
- ldf.fill f16=[r2],32
- ldf.fill f17=[r3],32
+ ldf.fill f24=[r14],32
+ ldf.fill f25=[r15],32
mov b4=r25
;;
- ldf.fill f18=[r2],32
- ldf.fill f19=[r3],32
+ ldf.fill f26=[r14],32
+ ldf.fill f27=[r15],32
mov b5=r26
;;
- ldf.fill f20=[r2],32
- ldf.fill f21=[r3],32
- ;;
- ldf.fill f22=[r2],32
- ldf.fill f23=[r3],32
- ;;
- ldf.fill f24=[r2],32
- ldf.fill f25=[r3],32
- ;;
- ldf.fill f26=[r2],32
- ldf.fill f27=[r3],32
- ;;
- ldf.fill f28=[r2],32
- ldf.fill f29=[r3],32
+ ldf.fill f28=[r14],32
+ ldf.fill f29=[r15],32
+ mov ar.pfs=r16
;;
- ldf.fill f30=[r2],32
- ldf.fill f31=[r3],24
+ ldf.fill f30=[r14],32
+ ldf.fill f31=[r15],24
+ mov ar.lc=r17
;;
- ld8.fill r4=[r2],16
- ld8.fill r5=[r3],16
+ ld8.fill r4=[r14],16
+ ld8.fill r5=[r15],16
+ mov pr=r28,-1
;;
- ld8.fill r6=[r2],16
- ld8.fill r7=[r3],16
+ ld8.fill r6=[r14],16
+ ld8.fill r7=[r15],16
+
mov ar.unat=r18 // restore caller's unat
+ mov ar.rnat=r30 // must restore after bspstore but before rsc!
mov ar.fpsr=r19 // restore fpsr
mov ar.rsc=3 // put RSE back into eager mode, pl 0
- br.cond.sptk.few b7
+ br.cond.sptk.many b7
END(load_switch_stack)
GLOBAL_ENTRY(__ia64_syscall)
@@ -468,8 +480,8 @@
.ret6: br.call.sptk.few rp¶ // do the syscall
strace_check_retval:
cmp.lt p6,p0=r8,r0 // syscall failed?
- adds r2=IA64_PT_REGS_R8_OFFSET+16,sp // r2 = &pt_regs.r8
- adds r3=IA64_PT_REGS_R8_OFFSET+32,sp // r3 = &pt_regs.r10
+ adds r2=PT(R8)+16,sp // r2 = &pt_regs.r8
+ adds r3=PT(R10)+16,sp // r3 = &pt_regs.r10
mov r10=0
(p6) br.cond.sptk.few strace_error // syscall failed ->
;; // avoid RAW on r10
@@ -514,8 +526,8 @@
GLOBAL_ENTRY(ia64_ret_from_syscall)
PT_REGS_UNWIND_INFO(0)
cmp.ge p6,p7=r8,r0 // syscall executed successfully?
- adds r2=IA64_PT_REGS_R8_OFFSET+16,sp // r2 = &pt_regs.r8
- adds r3=IA64_PT_REGS_R8_OFFSET+32,sp // r3 = &pt_regs.r10
+ adds r2=PT(R8)+16,sp // r2 = &pt_regs.r8
+ adds r3=PT(R10)+16,sp // r3 = &pt_regs.r10
;;
.mem.offset 0,0
(p6) st8.spill [r2]=r8 // store return value in slot for r8 and set unat bit
@@ -538,7 +550,6 @@
;;
add r3=r2,r3
#else
- adds r16=IA64_PT_REGS_R8_OFFSET+16,r12
movl r3=irq_stat // softirq_active
#endif
;;
@@ -599,13 +610,13 @@
.ret10:
;;
ssm psr.i
-#endif
+#endif
restore_all:
// start restoring the state saved on the kernel stack (struct pt_regs):
- adds r2=IA64_PT_REGS_R8_OFFSET+16,r12
- adds r3=IA64_PT_REGS_R8_OFFSET+24,r12
+ adds r2=PT(R8)+16,r12
+ adds r3=PT(R9)+16,r12
;;
ld8.fill r8=[r2],16
ld8.fill r9=[r3],16
@@ -936,11 +947,11 @@
;;
adds out0\x16,sp // out0 = &sigscratch
br.call.sptk.few rp=ia64_rt_sigreturn
-.ret19: adds sp\x16,sp // doesn't drop pt_regs, so don't mark it as restoring sp!
- PT_REGS_UNWIND_INFO(0) // instead, create a new body section with the smaller frame
+.ret19: .restore sp
+ adds sp\x16,sp
;;
ld8 r9=[sp] // load new ar.unat
- mov b7=r8
+ MOVBR(.sptk,b7,r8,ia64_leave_kernel)
;;
mov ar.unat=r9
br b7
@@ -949,10 +960,10 @@
PT_REGS_UNWIND_INFO(0)
UNW(.prologue)
UNW(.fframe IA64_PT_REGS_SIZE+IA64_SWITCH_STACK_SIZE)
- UNW(.spillsp rp, PT(CR_IIP)+IA64_SWITCH_STACK_SIZE)
- UNW(.spillsp ar.pfs, PT(CR_IFS)+IA64_SWITCH_STACK_SIZE)
- UNW(.spillsp ar.unat, PT(AR_UNAT)+IA64_SWITCH_STACK_SIZE)
- UNW(.spillsp pr, PT(PR)+IA64_SWITCH_STACK_SIZE)
+ UNW(.spillsp rp, PT(CR_IIP)+16+IA64_SWITCH_STACK_SIZE)
+ UNW(.spillsp ar.pfs, PT(CR_IFS)+16+IA64_SWITCH_STACK_SIZE)
+ UNW(.spillsp ar.unat, PT(AR_UNAT)+16+IA64_SWITCH_STACK_SIZE)
+ UNW(.spillsp pr, PT(PR)+16+IA64_SWITCH_STACK_SIZE)
adds sp=-IA64_SWITCH_STACK_SIZE,sp
cmp.eq pNonSys,pSys=r0,r0 // sigreturn isn't a normal syscall...
;;
@@ -960,10 +971,10 @@
adds out0\x16,sp // out0 = &sigscratch
br.call.sptk.few rp=ia64_rt_sigreturn
-.ret20: adds r3=IA64_SWITCH_STACK_CALLER_UNAT_OFFSET+16,sp
+.ret20: adds r3=SW(CALLER_UNAT)+16,sp
;;
ld8 r9=[r3] // load new ar.unat
- mov b7=r8
+ MOVBR(.sptk,b7,r8,ia64_leave_kernel)
;;
PT_REGS_UNWIND_INFO(0)
adds sp=IA64_SWITCH_STACK_SIZE,sp // drop (dummy) switch-stack frame
diff -urN linux-davidm/arch/ia64/kernel/entry.h linux-2.4.1-lia/arch/ia64/kernel/entry.h
--- linux-davidm/arch/ia64/kernel/entry.h Wed Jan 31 11:46:51 2001
+++ linux-2.4.1-lia/arch/ia64/kernel/entry.h Wed Jan 31 10:20:40 2001
@@ -1,3 +1,12 @@
+#include <linux/config.h>
+
+/* XXX fixme */
+#if defined(CONFIG_ITANIUM_ASTEP_SPECIFIC) || defined(CONFIG_ITANIUM_BSTEP_SPECIFIC)
+# define MOVBR(type,br,gr,lbl) mov br=gr
+#else
+# define MOVBR(type,br,gr,lbl) mov##type br=gr,lbl
+#endif
+
/*
* Preserved registers that are shared between code in ivt.S and entry.S. Be
* careful not to step on these!
@@ -6,51 +15,53 @@
#define pSys p4 /* are we processing a (synchronous) system call? */
#define pNonSys p5 /* complement of pSys */
-#define PT(f) (IA64_PT_REGS_##f##_OFFSET + 16)
-#define SW(f) (IA64_SWITCH_STACK_##f##_OFFSET + 16)
+#define PT(f) (IA64_PT_REGS_##f##_OFFSET)
+#define SW(f) (IA64_SWITCH_STACK_##f##_OFFSET)
#define PT_REGS_SAVES(off) \
UNW(.unwabi @svr4, 'i'); \
UNW(.fframe IA64_PT_REGS_SIZE+16+(off)); \
- UNW(.spillsp rp, PT(CR_IIP)+(off)); \
- UNW(.spillsp ar.pfs, PT(CR_IFS)+(off)); \
- UNW(.spillsp ar.unat, PT(AR_UNAT)+(off)); \
- UNW(.spillsp ar.fpsr, PT(AR_FPSR)+(off)); \
- UNW(.spillsp pr, PT(PR)+(off));
+ UNW(.spillsp rp, PT(CR_IIP)+16+(off)); \
+ UNW(.spillsp ar.pfs, PT(CR_IFS)+16+(off)); \
+ UNW(.spillsp ar.unat, PT(AR_UNAT)+16+(off)); \
+ UNW(.spillsp ar.fpsr, PT(AR_FPSR)+16+(off)); \
+ UNW(.spillsp pr, PT(PR)+16+(off));
#define PT_REGS_UNWIND_INFO(off) \
UNW(.prologue); \
PT_REGS_SAVES(off); \
UNW(.body)
-#define SWITCH_STACK_SAVES(off) \
- UNW(.savesp ar.unat,SW(CALLER_UNAT)+(off)); UNW(.savesp ar.fpsr,SW(AR_FPSR)+(off)); \
- UNW(.spillsp f2,SW(F2)+(off)); UNW(.spillsp f3,SW(F3)+(off)); \
- UNW(.spillsp f4,SW(F4)+(off)); UNW(.spillsp f5,SW(F5)+(off)); \
- UNW(.spillsp f16,SW(F16)+(off)); UNW(.spillsp f17,SW(F17)+(off)); \
- UNW(.spillsp f18,SW(F18)+(off)); UNW(.spillsp f19,SW(F19)+(off)); \
- UNW(.spillsp f20,SW(F20)+(off)); UNW(.spillsp f21,SW(F21)+(off)); \
- UNW(.spillsp f22,SW(F22)+(off)); UNW(.spillsp f23,SW(F23)+(off)); \
- UNW(.spillsp f24,SW(F24)+(off)); UNW(.spillsp f25,SW(F25)+(off)); \
- UNW(.spillsp f26,SW(F26)+(off)); UNW(.spillsp f27,SW(F27)+(off)); \
- UNW(.spillsp f28,SW(F28)+(off)); UNW(.spillsp f29,SW(F29)+(off)); \
- UNW(.spillsp f30,SW(F30)+(off)); UNW(.spillsp f31,SW(F31)+(off)); \
- UNW(.spillsp r4,SW(R4)+(off)); UNW(.spillsp r5,SW(R5)+(off)); \
- UNW(.spillsp r6,SW(R6)+(off)); UNW(.spillsp r7,SW(R7)+(off)); \
- UNW(.spillsp b0,SW(B0)+(off)); UNW(.spillsp b1,SW(B1)+(off)); \
- UNW(.spillsp b2,SW(B2)+(off)); UNW(.spillsp b3,SW(B3)+(off)); \
- UNW(.spillsp b4,SW(B4)+(off)); UNW(.spillsp b5,SW(B5)+(off)); \
- UNW(.spillsp ar.pfs,SW(AR_PFS)+(off)); UNW(.spillsp ar.lc,SW(AR_LC)+(off)); \
- UNW(.spillsp @priunat,SW(AR_UNAT)+(off)); \
- UNW(.spillsp ar.rnat,SW(AR_RNAT)+(off)); UNW(.spillsp ar.bspstore,SW(AR_BSPSTORE)+(off)); \
- UNW(.spillsp pr,SW(PR)+(off))
+#define SWITCH_STACK_SAVES(off) \
+ UNW(.savesp ar.unat,SW(CALLER_UNAT)+16+(off)); \
+ UNW(.savesp ar.fpsr,SW(AR_FPSR)+16+(off)); \
+ UNW(.spillsp f2,SW(F2)+16+(off)); UNW(.spillsp f3,SW(F3)+16+(off)); \
+ UNW(.spillsp f4,SW(F4)+16+(off)); UNW(.spillsp f5,SW(F5)+16+(off)); \
+ UNW(.spillsp f16,SW(F16)+16+(off)); UNW(.spillsp f17,SW(F17)+16+(off)); \
+ UNW(.spillsp f18,SW(F18)+16+(off)); UNW(.spillsp f19,SW(F19)+16+(off)); \
+ UNW(.spillsp f20,SW(F20)+16+(off)); UNW(.spillsp f21,SW(F21)+16+(off)); \
+ UNW(.spillsp f22,SW(F22)+16+(off)); UNW(.spillsp f23,SW(F23)+16+(off)); \
+ UNW(.spillsp f24,SW(F24)+16+(off)); UNW(.spillsp f25,SW(F25)+16+(off)); \
+ UNW(.spillsp f26,SW(F26)+16+(off)); UNW(.spillsp f27,SW(F27)+16+(off)); \
+ UNW(.spillsp f28,SW(F28)+16+(off)); UNW(.spillsp f29,SW(F29)+16+(off)); \
+ UNW(.spillsp f30,SW(F30)+16+(off)); UNW(.spillsp f31,SW(F31)+16+(off)); \
+ UNW(.spillsp r4,SW(R4)+16+(off)); UNW(.spillsp r5,SW(R5)+16+(off)); \
+ UNW(.spillsp r6,SW(R6)+16+(off)); UNW(.spillsp r7,SW(R7)+16+(off)); \
+ UNW(.spillsp b0,SW(B0)+16+(off)); UNW(.spillsp b1,SW(B1)+16+(off)); \
+ UNW(.spillsp b2,SW(B2)+16+(off)); UNW(.spillsp b3,SW(B3)+16+(off)); \
+ UNW(.spillsp b4,SW(B4)+16+(off)); UNW(.spillsp b5,SW(B5)+16+(off)); \
+ UNW(.spillsp ar.pfs,SW(AR_PFS)+16+(off)); UNW(.spillsp ar.lc,SW(AR_LC)+16+(off)); \
+ UNW(.spillsp @priunat,SW(AR_UNAT)+16+(off)); \
+ UNW(.spillsp ar.rnat,SW(AR_RNAT)+16+(off)); \
+ UNW(.spillsp ar.bspstore,SW(AR_BSPSTORE)+16+(off)); \
+ UNW(.spillsp pr,SW(PR)+16+(off))
#define DO_SAVE_SWITCH_STACK \
movl r28\x1f; \
;; \
.fframe IA64_SWITCH_STACK_SIZE; \
adds sp=-IA64_SWITCH_STACK_SIZE,sp; \
- mov b7=r28; \
+ MOVBR(.ret.sptk,b7,r28,1f); \
SWITCH_STACK_SAVES(0); \
br.cond.sptk.many save_switch_stack; \
1:
@@ -58,7 +69,8 @@
#define DO_LOAD_SWITCH_STACK \
movl r28\x1f; \
;; \
- mov b7=r28; \
+ invala; \
+ MOVBR(.ret.sptk,b7,r28,1f); \
br.cond.sptk.many load_switch_stack; \
1: UNW(.restore sp); \
adds sp=IA64_SWITCH_STACK_SIZE,sp
diff -urN linux-davidm/arch/ia64/kernel/gate.S linux-2.4.1-lia/arch/ia64/kernel/gate.S
--- linux-davidm/arch/ia64/kernel/gate.S Fri Jul 14 16:08:11 2000
+++ linux-2.4.1-lia/arch/ia64/kernel/gate.S Wed Jan 31 10:21:10 2001
@@ -153,7 +153,7 @@
ENTRY(setup_rbs)
flushrs // must be first in insn
- mov ar.rsc=r0 // put RSE into enforced lazy mode
+ mov ar.rsc=0 // put RSE into enforced lazy mode
adds r16=(RNAT_OFF+SIGCONTEXT_OFF),sp
;;
mov r14=ar.rnat // get rnat as updated by flushrs
@@ -167,7 +167,7 @@
ENTRY(restore_rbs)
flushrs
- mov ar.rsc=r0 // put RSE into enforced lazy mode
+ mov ar.rsc=0 // put RSE into enforced lazy mode
adds r16=(RNAT_OFF+SIGCONTEXT_OFF),sp
;;
ld8 r14=[r16] // get new rnat
diff -urN linux-davidm/arch/ia64/kernel/head.S linux-2.4.1-lia/arch/ia64/kernel/head.S
--- linux-davidm/arch/ia64/kernel/head.S Thu Jan 4 22:40:10 2001
+++ linux-2.4.1-lia/arch/ia64/kernel/head.S Wed Jan 31 10:21:20 2001
@@ -113,7 +113,7 @@
*/
addl r12=IA64_STK_OFFSET-IA64_PT_REGS_SIZE-16,r2
addl r2=IA64_RBS_OFFSET,r2 // initialize the RSE
- mov ar.rsc=r0 // place RSE in enforced lazy mode
+ mov ar.rsc=0 // place RSE in enforced lazy mode
;;
mov ar.bspstore=r2 // establish the new RSE stack
;;
diff -urN linux-davidm/arch/ia64/kernel/minstate.h linux-2.4.1-lia/arch/ia64/kernel/minstate.h
--- linux-davidm/arch/ia64/kernel/minstate.h Wed Jan 31 11:46:52 2001
+++ linux-2.4.1-lia/arch/ia64/kernel/minstate.h Wed Jan 31 10:21:41 2001
@@ -29,7 +29,7 @@
*/
#define MINSTATE_START_SAVE_MIN_VIRT \
dep r1=-1,r1,61,3; /* r1 = current (virtual) */ \
-(p7) mov ar.rsc=r0; /* set enforced lazy mode, pl 0, little-endian, loadrs=0 */ \
+(p7) mov ar.rsc=0; /* set enforced lazy mode, pl 0, little-endian, loadrs=0 */ \
;; \
(p7) addl rKRBS=IA64_RBS_OFFSET,r1; /* compute base of RBS */ \
(p7) mov rARRNAT=ar.rnat; \
@@ -55,7 +55,7 @@
*/
#define MINSTATE_START_SAVE_MIN_PHYS \
(pKern) movl sp=ia64_init_stack+IA64_STK_OFFSET-IA64_PT_REGS_SIZE; \
-(p7) mov ar.rsc=r0; /* set enforced lazy mode, pl 0, little-endian, loadrs=0 */ \
+(p7) mov ar.rsc=0; /* set enforced lazy mode, pl 0, little-endian, loadrs=0 */ \
(p7) addl rKRBS=IA64_RBS_OFFSET,r1; /* compute base of register backing store */ \
;; \
(p7) mov rARRNAT=ar.rnat; \
diff -urN linux-davidm/arch/ia64/kernel/pal.S linux-2.4.1-lia/arch/ia64/kernel/pal.S
--- linux-davidm/arch/ia64/kernel/pal.S Thu Jan 4 22:40:10 2001
+++ linux-2.4.1-lia/arch/ia64/kernel/pal.S Wed Jan 31 10:21:52 2001
@@ -171,7 +171,7 @@
dep.z r8=r8,0,61 // convert rp to physical
;;
mov b7 = loc2 // install target to branch reg
- mov ar.rsc=r0 // put RSE in enforced lazy, LE mode
+ mov ar.rsc=0 // put RSE in enforced lazy, LE mode
movl r16=PAL_PSR_BITS_TO_CLEAR
movl r17=PAL_PSR_BITS_TO_SET
;;
@@ -182,7 +182,7 @@
.ret1: mov rp = r8 // install return address (physical)
br.cond.sptk.few b7
1:
- mov ar.rsc=r0 // put RSE in enforced lazy, LE mode
+ mov ar.rsc=0 // put RSE in enforced lazy, LE mode
mov r16=loc3 // r16= original psr
br.call.sptk.few rp=ia64_switch_mode // return to virtual mode
.ret2:
@@ -224,7 +224,7 @@
mov loc4=ar.rsc // save RSE configuration
dep.z loc2=loc2,0,61 // convert pal entry point to physical
;;
- mov ar.rsc=r0 // put RSE in enforced lazy, LE mode
+ mov ar.rsc=0 // put RSE in enforced lazy, LE mode
movl r16=PAL_PSR_BITS_TO_CLEAR
movl r17=PAL_PSR_BITS_TO_SET
;;
@@ -236,7 +236,7 @@
.ret6:
br.call.sptk.many rp· // now make the call
.ret7:
- mov ar.rsc=r0 // put RSE in enforced lazy, LE mode
+ mov ar.rsc=0 // put RSE in enforced lazy, LE mode
mov r16=loc3 // r16= original psr
br.call.sptk.few rp=ia64_switch_mode // return to virtual mode
diff -urN linux-davidm/arch/ia64/kernel/process.c linux-2.4.1-lia/arch/ia64/kernel/process.c
--- linux-davidm/arch/ia64/kernel/process.c Wed Jan 31 11:46:52 2001
+++ linux-2.4.1-lia/arch/ia64/kernel/process.c Mon Jan 8 23:41:03 2001
@@ -347,6 +347,7 @@
unw_get_gr(info, i, &dst[i], &nat);
if (nat)
nat_bits |= mask;
+printk("r%u = %c%016lx\n", i, nat ? '*' : ' ', dst[i]);
mask <<= 1;
}
dst[32] = nat_bits;
diff -urN linux-davidm/arch/ia64/kernel/signal.c linux-2.4.1-lia/arch/ia64/kernel/signal.c
--- linux-davidm/arch/ia64/kernel/signal.c Wed Jan 31 11:46:52 2001
+++ linux-2.4.1-lia/arch/ia64/kernel/signal.c Wed Jan 31 10:22:01 2001
@@ -52,7 +52,6 @@
struct sigcontext sc;
};
-extern long sys_wait4 (int, int *, int, struct rusage *);
extern long ia64_do_signal (sigset_t *, struct sigscratch *, long); /* forward decl */
long
diff -urN linux-davidm/arch/ia64/kernel/traps.c linux-2.4.1-lia/arch/ia64/kernel/traps.c
--- linux-davidm/arch/ia64/kernel/traps.c Thu Jan 4 22:40:10 2001
+++ linux-2.4.1-lia/arch/ia64/kernel/traps.c Wed Jan 31 10:26:01 2001
@@ -319,15 +319,14 @@
if (copy_from_user(bundle, (void *) fault_ip, sizeof(bundle)))
return -1;
-#ifdef FPSWA_DEBUG
if (fpu_swa_count > 5 && jiffies - last_time > 5*HZ)
fpu_swa_count = 0;
if (++fpu_swa_count < 5) {
last_time = jiffies;
- printk("%s(%d): floating-point assist fault at ip %016lx\n",
+ printk(KERN_WARNING "%s(%d): floating-point assist fault at ip %016lx\n",
current->comm, current->pid, regs->cr_iip + ia64_psr(regs)->ri);
}
-#endif
+
exception = fp_emulate(fp_fault, bundle, ®s->cr_ipsr, ®s->ar_fpsr, &isr, ®s->pr,
®s->cr_ifs, regs);
if (fp_fault) {
diff -urN linux-davidm/arch/ia64/lib/idiv64.S linux-2.4.1-lia/arch/ia64/lib/idiv64.S
--- linux-davidm/arch/ia64/lib/idiv64.S Mon Oct 9 17:54:56 2000
+++ linux-2.4.1-lia/arch/ia64/lib/idiv64.S Wed Jan 31 10:22:48 2001
@@ -42,6 +42,7 @@
// Transfer inputs to FP registers.
setf.sig f8 = in0
setf.sig f9 = in1
+ ;;
UNW(.fframe 16)
UNW(.save.f 0x20)
stf.spill [sp] = f17,-16
diff -urN linux-davidm/drivers/acpi/acpiconf.c linux-2.4.1-lia/drivers/acpi/acpiconf.c
--- linux-davidm/drivers/acpi/acpiconf.c Wed Jan 31 11:46:52 2001
+++ linux-2.4.1-lia/drivers/acpi/acpiconf.c Wed Jan 31 10:24:18 2001
@@ -234,8 +234,8 @@
ext_obj = (ACPI_OBJECT *) ret_buf.pointer;
switch (ext_obj->type) {
- case ACPI_TYPE_NUMBER:
- busnum = (NATIVE_UINT) ext_obj->number.value;
+ case ACPI_TYPE_INTEGER:
+ busnum = (NATIVE_UINT) ext_obj->integer.value;
next_busnum = busnum + 1;
dprintk(("Acpi cfg:_BBN busnum is %ld\n ", busnum));
break;
@@ -266,8 +266,8 @@
ext_obj = (ACPI_OBJECT *) ret_buf.pointer;
switch (ext_obj->type) {
- case ACPI_TYPE_NUMBER:
- if((NATIVE_UINT) ext_obj->number.value & ACPI_STA_DEVICE_PRESENT) {
+ case ACPI_TYPE_INTEGER:
+ if((NATIVE_UINT) ext_obj->integer.value & ACPI_STA_DEVICE_PRESENT) {
dprintk(("Acpi cfg:_STA: pci bus %ld exist\n", busnum));
} else {
printk("Acpi cfg:_STA: pci bus %ld not exist. Discarding the _PRT\n", busnum);
diff -urN linux-davidm/fs/binfmt_elf.c linux-2.4.1-lia/fs/binfmt_elf.c
--- linux-davidm/fs/binfmt_elf.c Wed Jan 31 11:46:55 2001
+++ linux-2.4.1-lia/fs/binfmt_elf.c Wed Jan 31 10:26:35 2001
@@ -484,20 +484,6 @@
if (strcmp(elf_interpreter,"/usr/lib/libc.so.1") = 0 ||
strcmp(elf_interpreter,"/usr/lib/ld.so.1") = 0)
ibcs2_interpreter = 1;
-#if defined(__ia64__) && !defined(CONFIG_BINFMT_ELF32)
- /*
- * XXX temporary gross hack until all IA-64 Linux binaries
- * use /lib/ld-linux-ia64.so.1 as the linker name.
- */
-#define INTRP64 "/lib/ld-linux-ia64.so.1"
- if (strcmp(elf_interpreter,"/lib/ld-linux.so.2") = 0) {
- kfree(elf_interpreter);
- elf_interpreter=(char *)kmalloc(sizeof(INTRP64), GFP_KERNEL);
- if (!elf_interpreter)
- goto out_free_file;
- strcpy(elf_interpreter, INTRP64);
- }
-#endif /* defined(__ia64__) && !defined(CONFIG_BINFMT_ELF32) */
#if 0
printk("Using ELF interpreter %s\n", elf_interpreter);
#endif
diff -urN linux-davidm/include/asm-ia64/byteorder.h linux-2.4.1-lia/include/asm-ia64/byteorder.h
--- linux-davidm/include/asm-ia64/byteorder.h Sun Feb 6 18:42:40 2000
+++ linux-2.4.1-lia/include/asm-ia64/byteorder.h Wed Jan 31 10:28:45 2001
@@ -20,18 +20,18 @@
static __inline__ __const__ __u32
__ia64_swab32 (__u32 x)
{
- return __ia64_swab64 (x) >> 32;
+ return __ia64_swab64(x) >> 32;
}
static __inline__ __const__ __u16
__ia64_swab16(__u16 x)
{
- return __ia64_swab64 (x) >> 48;
+ return __ia64_swab64(x) >> 48;
}
-#define __arch__swab64(x) __ia64_swab64 (x)
-#define __arch__swab32(x) __ia64_swab32 (x)
-#define __arch__swab16(x) __ia64_swab16 (x)
+#define __arch__swab64(x) __ia64_swab64(x)
+#define __arch__swab32(x) __ia64_swab32(x)
+#define __arch__swab16(x) __ia64_swab16(x)
#define __BYTEORDER_HAS_U64__
diff -urN linux-davidm/include/asm-ia64/errno.h linux-2.4.1-lia/include/asm-ia64/errno.h
--- linux-davidm/include/asm-ia64/errno.h Sun Feb 6 18:42:40 2000
+++ linux-2.4.1-lia/include/asm-ia64/errno.h Wed Jan 31 10:29:01 2001
@@ -135,5 +135,5 @@
#define ENOMEDIUM 123 /* No medium found */
#define EMEDIUMTYPE 124 /* Wrong medium type */
-
+#define EHASHCOLLISION 125 /* Number of hash collisons exceeds max. generation value */
#endif /* _ASM_IA64_ERRNO_H */
diff -urN linux-davidm/include/asm-ia64/mca_asm.h linux-2.4.1-lia/include/asm-ia64/mca_asm.h
--- linux-davidm/include/asm-ia64/mca_asm.h Fri Apr 21 15:21:24 2000
+++ linux-2.4.1-lia/include/asm-ia64/mca_asm.h Wed Jan 31 10:29:15 2001
@@ -72,7 +72,7 @@
;; \
dep old_psr = 0, old_psr, 32, 32; \
\
- mov ar.rsc = r0 ; \
+ mov ar.rsc = 0 ; \
;; \
mov temp2 = ar.bspstore; \
;; \
@@ -148,7 +148,7 @@
dep temp2 = 0, temp2, PSR_IC, 2; \
;; \
mov psr.l = temp2; \
- mov ar.rsc = r0; \
+ mov ar.rsc = 0; \
;; \
srlz.d; \
mov temp2 = ar.bspstore; \
diff -urN linux-davidm/include/asm-ia64/system.h linux-2.4.1-lia/include/asm-ia64/system.h
--- linux-davidm/include/asm-ia64/system.h Thu Jan 4 22:40:21 2001
+++ linux-2.4.1-lia/include/asm-ia64/system.h Wed Jan 31 10:29:42 2001
@@ -350,7 +350,7 @@
case 2: _o_ = (__u16) (long) (old); break; \
case 4: _o_ = (__u32) (long) (old); break; \
case 8: _o_ = (__u64) (long) (old); break; \
- default: \
+ default: break; \
} \
__asm__ __volatile__ ("mov ar.ccv=%0;;" :: "rO"(_o_)); \
switch (size) { \
next prev parent reply other threads:[~2001-01-31 20:32 UTC|newest]
Thread overview: 217+ messages / expand[flat|nested] mbox.gz Atom feed top
2000-06-01 8:54 [Linux-ia64] kernel update (relative to v2.4.0-test1) David Mosberger
2000-06-03 17:32 ` Manfred Spraul
2000-06-10 1:07 ` David Mosberger
2000-06-10 1:11 ` David Mosberger
2000-07-14 21:37 ` [Linux-ia64] kernel update (relative to 2.4.0-test4) David Mosberger
2000-08-12 5:02 ` [Linux-ia64] kernel update (relative to v2.4.0-test6) David Mosberger
2000-08-14 11:35 ` Andreas Schwab
2000-08-14 17:00 ` David Mosberger
2000-09-09 6:51 ` [Linux-ia64] kernel update (relative to v2.4.0-test8) David Mosberger
2000-09-09 19:07 ` H . J . Lu
2000-09-09 20:49 ` David Mosberger
2000-09-09 21:25 ` Uros Prestor
2000-09-09 21:33 ` H . J . Lu
2000-09-09 21:45 ` David Mosberger
2000-09-09 21:49 ` H . J . Lu
2000-09-10 0:17 ` David Mosberger
2000-09-10 0:24 ` Uros Prestor
2000-09-10 0:39 ` H . J . Lu
2000-09-10 0:57 ` H . J . Lu
2000-09-10 15:47 ` H . J . Lu
2000-09-14 1:50 ` David Mosberger
2000-10-05 19:01 ` [Linux-ia64] kernel update (relative to v2.4.0-test9) David Mosberger
2000-10-05 22:08 ` Keith Owens
2000-10-05 22:15 ` David Mosberger
2000-10-31 8:55 ` [Linux-ia64] kernel update (relative to 2.4.0-test9) David Mosberger
2000-11-02 8:50 ` [Linux-ia64] kernel update (relative to 2.4.0-test10) David Mosberger
2000-11-02 10:39 ` Pimenov, Sergei
2000-11-16 7:59 ` David Mosberger
2000-12-07 8:26 ` [Linux-ia64] kernel update (relative to 2.4.0-test11) David Mosberger
2000-12-07 21:57 ` David Mosberger
2000-12-15 5:00 ` [Linux-ia64] kernel update (relative to 2.4.0-test12) David Mosberger
2000-12-15 22:43 ` Nathan Straz
2001-01-09 9:48 ` [Linux-ia64] kernel update (relative to 2.4.0) David Mosberger
2001-01-09 11:05 ` Sapariya Manish.j
2001-01-10 3:26 ` [Linux-ia64] kernel update (relative to 2.4.0) - copy_user fi Mallick, Asit K
2001-01-12 2:30 ` [Linux-ia64] kernel update (relative to 2.4.0) Jim Wilson
2001-01-26 4:53 ` David Mosberger
2001-01-31 20:32 ` David Mosberger [this message]
2001-03-01 7:12 ` [Linux-ia64] kernel update (relative to 2.4.2) David Mosberger
2001-03-01 10:17 ` Andreas Schwab
2001-03-01 10:27 ` Andreas Schwab
2001-03-01 15:29 ` David Mosberger
2001-03-02 12:26 ` Keith Owens
2001-05-09 4:52 ` [Linux-ia64] kernel update (relative to 2.4.4) Keith Owens
2001-05-09 5:07 ` David Mosberger
2001-05-09 11:45 ` Keith Owens
2001-05-09 13:38 ` Jack Steiner
2001-05-09 14:06 ` David Mosberger
2001-05-09 14:21 ` Jack Steiner
2001-05-10 4:14 ` David Mosberger
2001-05-31 7:37 ` [Linux-ia64] kernel update (relative to 2.4.5) David Mosberger
2001-06-27 7:09 ` David Mosberger
2001-06-27 17:24 ` Richard Hirst
2001-06-27 18:10 ` Martin Wilck
2001-07-23 23:49 ` [Linux-ia64] kernel update (relative to 2.4.7) David Mosberger
2001-07-24 1:50 ` Keith Owens
2001-07-24 3:02 ` Keith Owens
2001-07-24 16:37 ` Andreas Schwab
2001-07-24 18:42 ` David Mosberger
2001-08-14 8:15 ` [Linux-ia64] kernel update (relative to 2.4.8) Chris Ahna
2001-08-14 8:19 ` David Mosberger
2001-08-14 8:51 ` Keith Owens
2001-08-14 15:48 ` David Mosberger
2001-08-14 16:23 ` Don Dugger
2001-08-14 17:06 ` David Mosberger
2001-08-15 0:22 ` Keith Owens
2001-08-21 3:55 ` [Linux-ia64] kernel update (relative to 2.4.9) David Mosberger
2001-08-22 10:00 ` Andreas Schwab
2001-08-22 17:42 ` Chris Ahna
2001-09-25 7:13 ` [Linux-ia64] kernel update (relative to 2.4.10) David Mosberger
2001-09-25 7:17 ` David Mosberger
2001-09-25 12:17 ` Andreas Schwab
2001-09-25 15:14 ` Andreas Schwab
2001-09-25 15:45 ` Andreas Schwab
2001-09-26 22:49 ` David Mosberger
2001-09-26 22:51 ` David Mosberger
2001-09-27 4:57 ` Keith Owens
2001-09-27 17:48 ` David Mosberger
2001-10-02 5:20 ` Keith Owens
2001-10-02 5:50 ` Keith Owens
2001-10-11 2:47 ` [Linux-ia64] kernel update (relative to 2.4.11) David Mosberger
2001-10-11 4:39 ` Keith Owens
2001-10-25 4:27 ` [Linux-ia64] kernel update (relative to 2.4.13) David Mosberger
2001-10-25 4:30 ` David Mosberger
2001-10-25 5:26 ` Keith Owens
2001-10-25 6:21 ` Keith Owens
2001-10-25 6:44 ` Christoph Hellwig
2001-10-25 19:55 ` Luck, Tony
2001-10-25 20:20 ` David Mosberger
2001-10-26 14:36 ` Andreas Schwab
2001-10-30 2:20 ` David Mosberger
2001-11-02 1:35 ` William Lee Irwin III
2001-11-06 1:23 ` David Mosberger
2001-11-06 6:59 ` [Linux-ia64] kernel update (relative to 2.4.14) David Mosberger
2001-11-07 1:48 ` Keith Owens
2001-11-07 2:47 ` David Mosberger
2001-11-27 5:24 ` [Linux-ia64] kernel update (relative to 2.4.16) David Mosberger
2001-11-27 13:04 ` Andreas Schwab
2001-11-27 17:02 ` John Hesterberg
2001-11-27 22:03 ` John Hesterberg
2001-11-29 0:41 ` David Mosberger
2001-12-05 15:25 ` [Linux-ia64] kernel update (relative to 2.4.10) n0ano
2001-12-15 5:13 ` [Linux-ia64] kernel update (relative to 2.4.16) David Mosberger
2001-12-15 8:12 ` Keith Owens
2001-12-16 12:21 ` [Linux-ia64] kernel update (relative to 2.4.10) Zach, Yoav
2001-12-17 17:11 ` n0ano
2001-12-26 21:15 ` [Linux-ia64] kernel update (relative to 2.4.16) David Mosberger
2001-12-27 6:38 ` [Linux-ia64] kernel update (relative to v2.4.17) David Mosberger
2001-12-27 8:09 ` j-nomura
2001-12-27 21:59 ` Christian Groessler
2001-12-31 3:13 ` Matt_Domsch
2002-01-07 11:30 ` j-nomura
2002-02-08 7:02 ` [Linux-ia64] kernel update (relative to 2.5.3) David Mosberger
2002-02-27 1:47 ` [Linux-ia64] kernel update (relative to 2.4.18) David Mosberger
2002-02-28 4:40 ` Peter Chubb
2002-02-28 19:19 ` David Mosberger
2002-03-06 22:33 ` Peter Chubb
2002-03-08 6:38 ` [Linux-ia64] kernel update (relative to 2.5.5) David Mosberger
2002-03-09 11:08 ` Keith Owens
2002-04-26 7:15 ` [Linux-ia64] kernel update (relative to v2.5.10) David Mosberger
2002-05-31 6:08 ` [Linux-ia64] kernel update (relative to v2.5.18) David Mosberger
2002-06-06 2:01 ` Peter Chubb
2002-06-06 3:16 ` David Mosberger
2002-06-07 21:54 ` Bjorn Helgaas
2002-06-07 22:07 ` Bjorn Helgaas
2002-06-09 10:34 ` Steffen Persvold
2002-06-14 3:12 ` Peter Chubb
2002-06-22 8:57 ` [Linux-ia64] kernel update (relative to 2.4.18) David Mosberger
2002-06-22 9:25 ` David Mosberger
2002-06-22 10:05 ` Steffen Persvold
2002-06-22 19:03 ` David Mosberger
2002-06-22 19:33 ` Andreas Schwab
2002-07-08 22:08 ` Kimio Suganuma
2002-07-08 22:14 ` David Mosberger
2002-07-20 7:08 ` [Linux-ia64] kernel update (relative to v2.4.18) David Mosberger
2002-07-22 11:54 ` Andreas Schwab
2002-07-22 12:31 ` Keith Owens
2002-07-22 12:34 ` Andreas Schwab
2002-07-22 12:54 ` Keith Owens
2002-07-22 18:05 ` David Mosberger
2002-07-22 23:54 ` Kimio Suganuma
2002-07-23 1:00 ` Keith Owens
2002-07-23 1:10 ` David Mosberger
2002-07-23 1:21 ` Matthew Wilcox
2002-07-23 1:28 ` David Mosberger
2002-07-23 1:35 ` Grant Grundler
2002-07-23 3:09 ` Keith Owens
2002-07-23 5:04 ` David Mosberger
2002-07-23 5:58 ` Keith Owens
2002-07-23 6:15 ` David Mosberger
2002-07-23 12:09 ` Andreas Schwab
2002-07-23 15:38 ` Wichmann, Mats D
2002-07-23 16:17 ` David Mosberger
2002-07-23 16:28 ` David Mosberger
2002-07-23 16:30 ` David Mosberger
2002-07-23 18:08 ` KOCHI, Takayoshi
2002-07-23 19:17 ` Andreas Schwab
2002-07-24 4:30 ` KOCHI, Takayoshi
2002-08-22 13:42 ` [Linux-ia64] kernel update (relative to 2.4.19) Bjorn Helgaas
2002-08-22 14:22 ` Wichmann, Mats D
2002-08-22 15:29 ` Bjorn Helgaas
2002-08-23 4:52 ` KOCHI, Takayoshi
2002-08-23 10:10 ` Andreas Schwab
2002-08-30 5:42 ` [Linux-ia64] kernel update (relative to v2.5.32) David Mosberger
2002-08-30 17:26 ` KOCHI, Takayoshi
2002-08-30 19:00 ` David Mosberger
2002-09-18 3:25 ` Peter Chubb
2002-09-18 3:32 ` David Mosberger
2002-09-18 6:54 ` [Linux-ia64] kernel update (relative to 2.5.35) David Mosberger
2002-09-28 21:48 ` [Linux-ia64] kernel update (relative to 2.5.39) David Mosberger
2002-09-30 23:28 ` Peter Chubb
2002-09-30 23:49 ` David Mosberger
2002-10-01 4:26 ` Peter Chubb
2002-10-01 5:19 ` David Mosberger
2002-10-03 2:33 ` Jes Sorensen
2002-10-03 2:46 ` KOCHI, Takayoshi
2002-10-13 23:39 ` Peter Chubb
2002-10-17 11:46 ` Jes Sorensen
2002-11-01 6:18 ` [Linux-ia64] kernel update (relative to 2.5.45) David Mosberger
2002-12-11 4:44 ` [Linux-ia64] kernel update (relative to 2.4.20) Bjorn Helgaas
2002-12-12 2:00 ` Matthew Wilcox
2002-12-13 17:36 ` Bjorn Helgaas
2002-12-21 9:00 ` [Linux-ia64] kernel update (relative to 2.5.52) David Mosberger
2002-12-26 6:07 ` Kimio Suganuma
2003-01-02 21:27 ` David Mosberger
2003-01-25 5:02 ` [Linux-ia64] kernel update (relative to 2.5.59) David Mosberger
2003-01-25 20:19 ` Sam Ravnborg
2003-01-27 18:47 ` David Mosberger
2003-01-28 19:44 ` Arun Sharma
2003-01-28 19:55 ` David Mosberger
2003-01-28 21:34 ` Arun Sharma
2003-01-28 23:09 ` David Mosberger
2003-01-29 4:27 ` Peter Chubb
2003-01-29 6:07 ` David Mosberger
2003-01-29 14:06 ` Erich Focht
2003-01-29 17:10 ` Luck, Tony
2003-01-29 17:48 ` Paul Bame
2003-01-29 19:08 ` David Mosberger
2003-02-12 23:26 ` [Linux-ia64] kernel update (relative to 2.5.60) David Mosberger
2003-02-13 5:52 ` j-nomura
2003-02-13 17:53 ` Grant Grundler
2003-02-13 18:36 ` David Mosberger
2003-02-13 19:17 ` Grant Grundler
2003-02-13 20:00 ` David Mosberger
2003-02-13 20:11 ` Grant Grundler
2003-02-18 19:52 ` Jesse Barnes
2003-03-07 8:19 ` [Linux-ia64] kernel update (relative to v2.5.64) David Mosberger
2003-04-12 4:28 ` [Linux-ia64] kernel update (relative to v2.5.67) David Mosberger
2003-04-14 12:55 ` Takayoshi Kochi
2003-04-14 17:00 ` Howell, David P
2003-04-14 18:45 ` David Mosberger
2003-04-14 20:56 ` Alex Williamson
2003-04-14 22:13 ` Howell, David P
2003-04-15 9:01 ` Takayoshi Kochi
2003-04-15 22:03 ` David Mosberger
2003-04-15 22:12 ` Alex Williamson
2003-04-15 22:27 ` David Mosberger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=marc-linux-ia64-105590693005112@msgid-missing \
--to=davidm@hpl.hp.com \
--cc=linux-ia64@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.