* [parisc-linux] RE: [parisc-linux-cvs] linux-2.6 carlos [not found] <20040128060516.492DE4941AA@palinux.hppa> @ 2004-01-28 14:00 ` Joel Soete 2004-01-28 23:11 ` Carlos O'Donell 0 siblings, 1 reply; 24+ messages in thread From: Joel Soete @ 2004-01-28 14:00 UTC (permalink / raw) To: parisc-linux Hi all, This boot fine on the b180 (32bit kernel), the b2k (32bit kernel only even with CONFIG_PA20 is Ok but failed with 64bit kernel?) and N4000-55 (same 64bit kernel build with my own kgcc-3.3.3 :)). Any way this last test set aside any pb with _my_ gcc compiler :). Congratulation to all, Joel >-- Original Message -- >To: parisc-linux-cvs@lists.parisc-linux.org >Date: Tue, 27 Jan 2004 23:05:16 -0700 (MST) >From: carlos@parisc-linux.org (Carlos O'Donell) >Reply-To: parisc-linux@lists.parisc-linux.org >Subject: [parisc-linux-cvs] linux-2.6 carlos > > >CVSROOT: /var/cvs Module name: linux-2.6 Changes by: carlos 04/01/27 23:05:15 Modified files: . : Makefile Log message: Builds and boots on my A500 (64-bit), builds in 32-bit mode aswell (e.g. no CONFIG_COMPAT) _____________ >_________________________________ parisc-linux-cvs mailing list parisc-linux-cvs@lists.parisc-linux.org http://lists.parisc-linux.org/mailman/listinfo/parisc-linux-cvs ------------------------------------------------------------------------- Tiscali ADSL: 12 mois à 29,50 /mois! L'Internet rapide, c'est pour tout le monde. http://reg.tiscali.be/default.asp?lg=fr ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [parisc-linux] RE: [parisc-linux-cvs] linux-2.6 carlos 2004-01-28 14:00 ` [parisc-linux] RE: [parisc-linux-cvs] linux-2.6 carlos Joel Soete @ 2004-01-28 23:11 ` Carlos O'Donell 2004-01-29 7:28 ` Joel Soete 0 siblings, 1 reply; 24+ messages in thread From: Carlos O'Donell @ 2004-01-28 23:11 UTC (permalink / raw) To: Joel Soete; +Cc: parisc-linux On Wed, Jan 28, 2004 at 03:00:48PM +0100, Joel Soete wrote: > Hi all, > > This boot fine on the b180 (32bit kernel), the b2k (32bit kernel only even > with CONFIG_PA20 is Ok but failed with 64bit kernel?) and N4000-55 (same > 64bit kernel build with my own kgcc-3.3.3 :)). > > Any way this last test set aside any pb with _my_ gcc compiler :). Undo the patch, rebuild, and see if it still fails? Could you explain more about the failure? c. ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [parisc-linux] RE: [parisc-linux-cvs] linux-2.6 carlos 2004-01-28 23:11 ` Carlos O'Donell @ 2004-01-29 7:28 ` Joel Soete 2004-01-29 9:25 ` Joel Soete 0 siblings, 1 reply; 24+ messages in thread From: Joel Soete @ 2004-01-29 7:28 UTC (permalink / raw) To: Carlos O'Donell; +Cc: parisc-linux >> Any way this last test set aside any pb with _my_ gcc compiler :). > >Undo the patch, rebuild, and see if it still fails? I don't think it has any relation with any patch: since my first test of 2.6 I always reach to boot a 32bit kernel but never a 64bit kernel on this b2k (that is why I hesitate a long time before trying this on the N because suspecting a compiler pb) >Could you explain more about the failure? Well the pb is easy to easy: the last messages the palo banner advising: "... If this is the last message you see ..." then the kernel do very early a hpmc. I so try to get piminfo but everything seems to point out of kernel :(. I so try to add some printk() just at begining of init() (in init/main.c just before lock_kernel()) but it seems to not even reach this point (but not quiet sure that it is a relevant place for printk() ). So I suspect a pb in very early boot into head64.S or vmlinux.lds.S but here I could insert printk() ? Any idea? Thanks for attention, Joel ------------------------------------------------------------------------- Tiscali ADSL: 12 mois à 29,50 /mois! L'Internet rapide, c'est pour tout le monde. http://reg.tiscali.be/default.asp?lg=fr ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [parisc-linux] RE: [parisc-linux-cvs] linux-2.6 carlos 2004-01-29 7:28 ` Joel Soete @ 2004-01-29 9:25 ` Joel Soete 2004-02-01 0:40 ` [parisc-linux] About 2.6 64bit on b2k? Joel Soete 2004-02-01 20:05 ` [parisc-linux] RE: [parisc-linux-cvs] linux-2.6 carlos Randolph Chung 0 siblings, 2 replies; 24+ messages in thread From: Joel Soete @ 2004-01-29 9:25 UTC (permalink / raw) To: Carlos O'Donell; +Cc: James Bottomley, parisc-linux >>Could you explain more about the failure? > >Well the pb is easy to decribe: >the last messages the palo banner advising: "... If this is the last message >you see ..." then the kernel do very early a hpmc. I so try to get piminfo >but everything seems to point out of kernel :(. I so try to add some printk() >just at begining of init() (in init/main.c just before lock_kernel()) but >it seems to not even reach this point (but not quiet sure that it is a relevant >place for printk() ). seems Ok :) >So I suspect a pb in very early boot into head64.S or vmlinux.lds.S but here >I could insert printk() ? Sorry for auto-reply but my suspicious was right: I just revert this patch: =================================================================== RCS file: /var/lib/cvs/linux-2.5/arch/parisc/kernel/head64.S,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -u -r1.1.2.1 -r1.1.2.2 --- linux-2.5/arch/parisc/kernel/head64.S 2002/12/24 22:15:01 1.1.2.1 +++ linux-2.5/arch/parisc/kernel/head64.S 2003/01/14 13:08:03 1.1.2.2 @@ -176,7 +176,9 @@ #endif /* CONFIG_SMP */ /* Save the rfi target address */ - std %r11, TASK_PT_GR11-TASK_SZ_ALGN(%sp) + ldo -THREAD_SZ_ALGN(%sp), %r1 + ldd TI_TASK(%r1), %r1 + std %r11, TASK_PT_GR11(%r1) #ifndef CONFIG_PDC_NARROW /* Switch to wide mode; Superdome doesn't support narrow PDC @@ -206,7 +208,9 @@ stext_pdc_ret: /* restore rfi target address*/ - ldd TASK_PT_GR11-TASK_SZ_ALGN(%sp), %r11 + ldo -THREAD_SZ_ALGN(%sp), %r1 + ldd TI_TASK(%r1), %r1 + ldd TASK_PT_GR11(%r1), %r11 /* PARANOID: clear user scratch/user space SR's */ mtsp %r0,%sr0 @@ -310,7 +314,7 @@ load32 PA(smp_init_current_idle_task),%sp ldd 0(%sp),%sp /* load task address */ mtctl %sp,%cr30 /* store in cr30 */ - ldo TASK_SZ_ALGN(%sp),%sp + ldo THREAD_SZ_ALGN(%sp),%sp tophys_r1 %sp /* point CPU to kernel page tables */ =========><========= and now it boots well but I am very not able to fix it correctly :(. hth. Thanks again, Joel ------------------------------------------------------------------------- Tiscali ADSL: 12 mois à 29,50 /mois! L'Internet rapide, c'est pour tout le monde. http://reg.tiscali.be/default.asp?lg=fr ^ permalink raw reply [flat|nested] 24+ messages in thread
* [parisc-linux] About 2.6 64bit on b2k? 2004-01-29 9:25 ` Joel Soete @ 2004-02-01 0:40 ` Joel Soete 2004-02-01 5:00 ` Grant Grundler 2004-02-01 20:05 ` [parisc-linux] RE: [parisc-linux-cvs] linux-2.6 carlos Randolph Chung 1 sibling, 1 reply; 24+ messages in thread From: Joel Soete @ 2004-02-01 0:40 UTC (permalink / raw) Cc: parisc-linux Hi all, About this : > > Sorry for auto-reply but my suspicious was right: I just revert this patch: > =================================================================== > RCS file: /var/lib/cvs/linux-2.5/arch/parisc/kernel/head64.S,v > retrieving revision 1.1.2.1 > retrieving revision 1.1.2.2 > diff -u -r1.1.2.1 -r1.1.2.2 > --- linux-2.5/arch/parisc/kernel/head64.S 2002/12/24 22:15:01 1.1.2.1 > +++ linux-2.5/arch/parisc/kernel/head64.S 2003/01/14 13:08:03 1.1.2.2 > @@ -176,7 +176,9 @@ > #endif /* CONFIG_SMP */ > > /* Save the rfi target address */ > - std %r11, TASK_PT_GR11-TASK_SZ_ALGN(%sp) > + ldo -THREAD_SZ_ALGN(%sp), %r1 > + ldd TI_TASK(%r1), %r1 > + std %r11, TASK_PT_GR11(%r1) > > #ifndef CONFIG_PDC_NARROW > /* Switch to wide mode; Superdome doesn't support narrow PDC > @@ -206,7 +208,9 @@ > > stext_pdc_ret: > /* restore rfi target address*/ > - ldd TASK_PT_GR11-TASK_SZ_ALGN(%sp), %r11 > + ldo -THREAD_SZ_ALGN(%sp), %r1 > + ldd TI_TASK(%r1), %r1 > + ldd TASK_PT_GR11(%r1), %r11 > > /* PARANOID: clear user scratch/user space SR's */ > mtsp %r0,%sr0 > @@ -310,7 +314,7 @@ > load32 PA(smp_init_current_idle_task),%sp > ldd 0(%sp),%sp /* load task address */ > mtctl %sp,%cr30 /* store in cr30 */ > - ldo TASK_SZ_ALGN(%sp),%sp > + ldo THREAD_SZ_ALGN(%sp),%sp > tophys_r1 %sp > > /* point CPU to kernel page tables */ > =========><========= > > and now it boots well but I am very not able to fix it correctly :(. > > hth. > I don't understand why it works on c3k and not on b2k. Could it be because by b2k has only 256k of physical ram? Also, I notice that in head64.S there aren't .import like: [snip] .import init_thread_union,data .import $global$ /* forward declaration */ .import fault_vector_11,code /* IVA parisc 1.1 32 bit */ .import fault_vector_20,code /* IVA parisc 2.0 32 bit */ [snip] as in its 32bit brother head.S I don't yet find the meaning of '.import' but just in case ;) hth, Joel ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [parisc-linux] About 2.6 64bit on b2k? 2004-02-01 0:40 ` [parisc-linux] About 2.6 64bit on b2k? Joel Soete @ 2004-02-01 5:00 ` Grant Grundler 2004-02-01 12:18 ` Joel Soete 0 siblings, 1 reply; 24+ messages in thread From: Grant Grundler @ 2004-02-01 5:00 UTC (permalink / raw) To: Joel Soete; +Cc: parisc-linux On Sun, Feb 01, 2004 at 12:40:51AM +0000, Joel Soete wrote: > I don't understand why it works on c3k and not on b2k. > Could it be because by b2k has only 256k of physical ram? No. And you meant 256MB. But c3k and b2k both supported the same DIMMs originally (128 and 256MB DIMMS). Minimum mem possible was thus 128MB and I thought 256MB was the minimum shipped with each box. Sorry - I don't know why reverting that diff matters. > Also, I notice that in head64.S there aren't .import like: > [snip] > .import init_thread_union,data > .import $global$ /* forward declaration */ > .import fault_vector_11,code /* IVA parisc 1.1 32 bit */ > .import fault_vector_20,code /* IVA parisc 2.0 32 bit */ > [snip] > > as in its 32bit brother head.S head64.S only runs wide mode on PA20 HW. No need for any PA11 or narrow mode code. Look in the Makefile and see when head64.o is linked in. Then you'll *SMACK* yourself on the forehead and say "DOH!" :^) > I don't yet find the meaning of '.import' but just in case ;) AFAIK, it's just telling the assembler where to expect global symbols. grant ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [parisc-linux] About 2.6 64bit on b2k? 2004-02-01 5:00 ` Grant Grundler @ 2004-02-01 12:18 ` Joel Soete 0 siblings, 0 replies; 24+ messages in thread From: Joel Soete @ 2004-02-01 12:18 UTC (permalink / raw) To: Grant Grundler; +Cc: parisc-linux HI Grant, Grant Grundler wrote: > On Sun, Feb 01, 2004 at 12:40:51AM +0000, Joel Soete wrote: > >>I don't understand why it works on c3k and not on b2k. >>Could it be because by b2k has only 256k of physical ram? > > > No. And you meant 256MB. Oops yes :) > But c3k and b2k both supported the same DIMMs originally (128 and 256MB > DIMMS). Minimum mem possible was thus 128MB and I thought 256MB was > the minimum shipped with each box. > > Sorry - I don't know why reverting that diff matters. > Not more, I will try to objdump the two head64.o and see what the diff? > >>Also, I notice that in head64.S there aren't .import like: >>[snip] >> .import init_thread_union,data >> .import $global$ /* forward declaration */ >> .import fault_vector_11,code /* IVA parisc 1.1 32 bit */ >> .import fault_vector_20,code /* IVA parisc 2.0 32 bit */ >>[snip] >> >>as in its 32bit brother head.S > > > head64.S only runs wide mode on PA20 HW. > No need for any PA11 or narrow mode code. I understand that but less '.import init_thread_union,data' when [snip] /* And the stack pointer too */ load32 PA(init_thread_union+THREAD_SZ_ALGN),%sp [snip] (never the less in the working 2.4 it was the same, so I trust that the problem is very well in the computed pointers? But I don't have material right now to check ;) ) I am also curious to revert patch on the N (on which the patch works)? > Look in the Makefile and see when head64.o is linked in. > Then you'll *SMACK* yourself on the forehead and say "DOH!" :^) > > > >>I don't yet find the meaning of '.import' but just in case ;) > > > AFAIK, it's just telling the assembler where to expect global symbols. > > grant > Many thanks, Joel ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [parisc-linux] RE: [parisc-linux-cvs] linux-2.6 carlos 2004-01-29 9:25 ` Joel Soete 2004-02-01 0:40 ` [parisc-linux] About 2.6 64bit on b2k? Joel Soete @ 2004-02-01 20:05 ` Randolph Chung 2004-02-02 10:25 ` Joel Soete 1 sibling, 1 reply; 24+ messages in thread From: Randolph Chung @ 2004-02-01 20:05 UTC (permalink / raw) To: Joel Soete; +Cc: James Bottomley, Carlos O'Donell, parisc-linux > Sorry for auto-reply but my suspicious was right: I just revert this patch: can you try this one instead? randolph Index: arch/parisc/kernel/head64.S =================================================================== RCS file: /var/cvs/linux-2.6/arch/parisc/kernel/head64.S,v retrieving revision 1.3 diff -u -p -r1.3 head64.S --- arch/parisc/kernel/head64.S 17 Jan 2004 15:00:32 -0000 1.3 +++ arch/parisc/kernel/head64.S 1 Feb 2004 18:09:13 -0000 @@ -165,8 +165,7 @@ common_stext: #endif /* CONFIG_SMP */ /* Save the rfi target address */ - ldo -THREAD_SZ_ALGN(%sp), %r1 - ldd TI_TASK(%r1), %r1 + ldd TI_TASK-THREAD_SZ_ALGN(%sp), %r1 std %r11, TASK_PT_GR11(%r1) #ifndef CONFIG_PDC_NARROW @@ -301,7 +300,8 @@ smp_slave_stext: /* Initialize the SP - monarch sets up smp_init_current_idle_task */ load32 PA(smp_init_current_idle_task),%sp - ldd 0(%sp),%sp /* load task address */ + ldd 0(%sp),%sp /* load thread_info address */ + ldd TASK_THREAD_INFO(%sp), %sp mtctl %sp,%cr30 /* store in cr30 */ ldo THREAD_SZ_ALGN(%sp),%sp tophys_r1 %sp ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [parisc-linux] RE: [parisc-linux-cvs] linux-2.6 carlos 2004-02-01 20:05 ` [parisc-linux] RE: [parisc-linux-cvs] linux-2.6 carlos Randolph Chung @ 2004-02-02 10:25 ` Joel Soete 2004-02-02 17:50 ` Joel Soete 0 siblings, 1 reply; 24+ messages in thread From: Joel Soete @ 2004-02-02 10:25 UTC (permalink / raw) To: Randolph Chung; +Cc: James Bottomley, Carlos O'Donell, parisc-linux Hi Randolph, Very sorry but it doesn't works :( (Sorry also if I couldn't help more: my knowledge of kernel internals is still too limited :( ) Thanks for your attention, Joel >-- Original Message -- >Date: Sun, 1 Feb 2004 12:05:40 -0800 >From: Randolph Chung <randolph@tausq.org> >To: Joel Soete <soete.joel@tiscali.be> >Cc: Carlos O'Donell <carlos@baldric.uwo.ca>, > James Bottomley <James.Bottomley@steeleye.com>, > parisc-linux@lists.parisc-linux.org >Reply-To: Randolph Chung <randolph@tausq.org> >Subject: Re: [parisc-linux] RE: [parisc-linux-cvs] linux-2.6 carlos > > >> Sorry for auto-reply but my suspicious was right: I just revert this patch: can you try this one instead? randolph Index: arch/parisc/kernel/head64.S =================================================================== RCS file: /var/cvs/li >ux-2.6/arch/parisc/kernel/head64.S,v retrieving revision 1.3 diff -u -p -r1.3 head64.S --- arch/parisc/kernel/head64.S 17 Jan 2004 15:00:32 -0000 1.3 +++ arch/parisc/kernel/head64.S 1 Feb 2004 18:09:13 -0000 @@ -165,8 +165,7 @@ common_stext: > #endif /* CONFIG_SMP */ /* Save the rfi target address */ - ldo -THREAD_SZ_ALGN(%sp), %r1 - ldd TI_TASK(%r1), %r1 + ldd TI_TASK-THREAD_SZ_ALGN(%sp), %r1 std %r11, > TASK_PT_GR11(%r1) #ifndef CONFIG_PDC_NARROW @@ -301,7 +300,8 @@ smp_slave_stext: /* Initialize the SP - monarch sets up smp_init_current_idle_task */ load32 PA(smp_init_current_idle_task),%sp - ldd >0(%sp),%sp /* load task address */ + ldd 0(%sp),%sp /* load thread_info address */ + ldd TASK_THREAD_INFO(%sp), %sp mtctl %sp,%cr30 /* store in cr30 */ ldo TH >EAD_SZ_ALGN(%sp),%sp tophys_r1 %sp ------------------------------------------------------------------------- Tiscali ADSL: 12 mois à 29,50 /mois! L'Internet rapide, c'est pour tout le monde. http://reg.tiscali.be/default.asp?lg=fr ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [parisc-linux] RE: [parisc-linux-cvs] linux-2.6 carlos 2004-02-02 10:25 ` Joel Soete @ 2004-02-02 17:50 ` Joel Soete 0 siblings, 0 replies; 24+ messages in thread From: Joel Soete @ 2004-02-02 17:50 UTC (permalink / raw) To: Randolph Chung; +Cc: James Bottomley, Carlos O'Donell, parisc-linux Hi Randolph, Very sorry but it doesn't works :( (Sorry also if I couldn't help more: my knowledge of kernel internals is still too limited :( ) Thanks for your attention, Joel PS: btw I try to compare the dump of two .o files: palx2000:/usr/src/linux-2.6.2-rc2-pa3/arch/parisc/kernel# diff -Nau head64.working.dmp head64.orig.dmp --- head64.working.dmp 2004-02-02 19:39:05.295417088 +0100 +++ head64.orig.dmp 2004-02-02 19:34:56.138294728 +0100 @@ -62,39 +62,43 @@ cc: f0 66 0c 00 depd r6,31,32,r3 d0: 68 00 00 20 stw r0,10(r0) d4: 68 00 00 50 stw r0,28(r0) - d8: 73 cb 38 31 std r11,-3e8(sp) - dc: 00 00 14 a2 mfia rp - e0: 34 42 00 28 ldo 14(rp),rp - e4: f4 40 0c 00 depdi 0,31,32,rp - e8: e8 40 c0 00 bv r0(rp) - ec: 02 00 0d 60 ssm 200,r0 - f0: 34 1a 00 2a ldi 15,r26 - f4: 34 19 00 04 ldi 2,r25 - f8: 34 18 00 04 ldi 2,r24 - fc: 20 40 00 00 ldil 0,rp - 100: 34 42 00 00 ldo 0(rp),rp - 104: e8 60 c0 00 bv r0(r3) - 108: 08 00 02 57 copy r0,r23 + d8: 37 c1 3e 01 ldo -100(sp),r1 + dc: 0c 20 10 c1 ldd 0(,r1),r1 + e0: 70 2b 0b 30 std r11,598(r1) + e4: 00 00 14 a2 mfia rp + e8: 34 42 00 28 ldo 14(rp),rp + ec: f4 40 0c 00 depdi 0,31,32,rp + f0: e8 40 c0 00 bv r0(rp) + f4: 02 00 0d 60 ssm 200,r0 + f8: 34 1a 00 2a ldi 15,r26 + fc: 34 19 00 04 ldi 2,r25 + 100: 34 18 00 04 ldi 2,r24 + 104: 20 40 00 00 ldil 0,rp + 108: 34 42 00 00 ldo 0(rp),rp + 10c: e8 60 c0 00 bv r0(r3) + 110: 08 00 02 57 copy r0,r23 -000000000000010c <stext_pdc_ret>: - 10c: 53 cb 38 31 ldd -3e8(sp),r11 - 110: 00 00 18 20 mtsp r0,sr0 - 114: 00 00 58 20 mtsp r0,sr1 - 118: 00 00 98 20 mtsp r0,sr2 - 11c: 00 00 d8 20 mtsp r0,sr3 - 120: 01 00 18 40 mtctl r0,pidr1 - 124: 01 20 18 40 mtctl r0,pidr2 - 128: 01 80 18 40 mtctl r0,pidr3 - 12c: 01 a0 18 40 mtctl r0,pidr4 - 130: 20 20 02 00 ldil 10000000,r1 - 134: 08 3e 06 3e add sp,r1,sp - 138: 23 60 00 00 ldil 0,dp - 13c: 37 7b 00 00 ldo 0(dp),dp - 140: 21 40 00 00 ldil 0,r10 - 144: 35 4a 00 00 ldo 0(r10),r10 - 148: 01 ca 18 40 mtctl r10,iva - 14c: e8 00 01 58 b,l 200 <aligned_rfi>,r0 - 150: 08 00 02 40 nop +0000000000000114 <stext_pdc_ret>: + 114: 37 c1 3e 01 ldo -100(sp),r1 + 118: 0c 20 10 c1 ldd 0(,r1),r1 + 11c: 50 2b 0b 30 ldd 598(r1),r11 + 120: 00 00 18 20 mtsp r0,sr0 + 124: 00 00 58 20 mtsp r0,sr1 + 128: 00 00 98 20 mtsp r0,sr2 + 12c: 00 00 d8 20 mtsp r0,sr3 + 130: 01 00 18 40 mtctl r0,pidr1 + 134: 01 20 18 40 mtctl r0,pidr2 + 138: 01 80 18 40 mtctl r0,pidr3 + 13c: 01 a0 18 40 mtctl r0,pidr4 + 140: 20 20 02 00 ldil 10000000,r1 + 144: 08 3e 06 3e add sp,r1,sp + 148: 23 60 00 00 ldil 0,dp + 14c: 37 7b 00 00 ldo 0(dp),dp + 150: 21 40 00 00 ldil 0,r10 + 154: 35 4a 00 00 ldo 0(r10),r10 + 158: 01 ca 18 40 mtctl r10,iva + 15c: e8 00 01 38 b,l 200 <aligned_rfi>,r0 + 160: 08 00 02 40 nop ... 0000000000000200 <aligned_rfi>: =========><========= head64.working.dmp being the one which working (ie with mentioned reverted patch) head64.orig.dmp being the cvs one. Do you noticed compiler error? hth, Joel ------------------------------------------------------------------------- Tiscali ADSL: 12 mois à 29,50 /mois! L'Internet rapide, c'est pour tout le monde. http://reg.tiscali.be/default.asp?lg=fr ^ permalink raw reply [flat|nested] 24+ messages in thread
[parent not found: <20040430141548.EFE284945CD@palinux.hppa>]
* [parisc-linux] Re: [parisc-linux-cvs] linux-2.6 carlos [not found] <20040430141548.EFE284945CD@palinux.hppa> @ 2004-04-30 15:57 ` Carlos O'Donell 0 siblings, 0 replies; 24+ messages in thread From: Carlos O'Donell @ 2004-04-30 15:57 UTC (permalink / raw) To: parisc-linux; +Cc: parisc-linux-cvs On Fri, Apr 30, 2004 at 08:15:48AM -0600, Carlos O'Donell wrote: > CVSROOT: /var/cvs > Module name: linux-2.6 > Changes by: carlos 04/04/30 08:15:48 > > Modified files: > include/asm-parisc: unistd.h > > Log message: > Update K_INLINE_SYSCALL so userspace apps using the macro work properly. Lifted from the version I wrote for glibc. I get to clean this up yet again when we remove the register saves across syscalls. Index: include/asm-parisc/unistd.h =================================================================== RCS file: /var/cvs/linux-2.6/include/asm-parisc/unistd.h,v retrieving revision 1.5 diff -u -p -r1.5 unistd.h --- a/include/asm-parisc/unistd.h 28 Apr 2004 23:13:37 -0000 1.5 +++ b/include/asm-parisc/unistd.h 30 Apr 2004 14:15:17 -0000 @@ -735,94 +735,141 @@ #ifndef __ASSEMBLY__ -/* The old syscall code here didn't work, and it looks like it's only used - * by applications such as fdisk which for some reason need to produce - * their own syscall instead of using same from libc. The code below - * is leveraged from glibc/sysdeps/unix/sysv/linux/hppa/sysdep.h where - * it is essentially duplicated -- which sucks. -PB - */ - #define SYS_ify(syscall_name) __NR_##syscall_name -/* The system call number MUST ALWAYS be loaded in the delay slot of - the ble instruction, or restarting system calls WILL NOT WORK. See - arch/parisc/kernel/signal.c - dhd, 2000-07-26 */ -#define K_INLINE_SYSCALL(name, nr, args...) ({ \ - unsigned long __sys_res; \ - { \ - register unsigned long __res asm("r28"); \ - K_LOAD_ARGS_##nr(args) \ - asm volatile( \ - "ble 0x100(%%sr2, %%r0)\n\t" \ - " ldi %1, %%r20" \ - : "=r" (__res) \ - : "i" (SYS_ify(name)) K_ASM_ARGS_##nr \ - ); \ - __sys_res = __res; \ - } \ - if (__sys_res >= (unsigned long)-4095) { \ - errno = -__sys_res; \ - __sys_res = (unsigned long)-1; \ - } \ - __sys_res; \ +/* Assume all syscalls are done from PIC code just to be + * safe. The worst case scenario is that you lose a register + * and save/restore r19 across the syscall. */ +#define PIC + +#ifndef ASM_LINE_SEP +# define ASM_LINE_SEP ; +#endif + +/* Definition taken from glibc 2.3.3 + * sysdeps/unix/sysv/linux/hppa/sysdep.h + */ + +#ifdef PIC +/* WARNING: CANNOT BE USED IN A NOP! */ +# define K_STW_PIC stw %r19, -32(%sr0, %sp) ASM_LINE_SEP +# define K_LDW_PIC ldw -32(%sr0, %sp), %r19 ASM_LINE_SEP +# define K_STW_ASM_PIC " copy %%r19, %%r4\n" +# define K_LDW_ASM_PIC " copy %%r4, %%r19\n" +# define K_USING_GR4 "%r4", +#else +# define K_STW_PIC ASM_LINE_SEP +# define K_LDW_PIC ASM_LINE_SEP +# define K_STW_ASM_PIC " \n" +# define K_LDW_ASM_PIC " \n" +# define K_USING_GR4 +#endif + +/* GCC has to be warned that a syscall may clobber all the ABI + registers listed as "caller-saves", see page 8, Table 2 + in section 2.2.6 of the PA-RISC RUN-TIME architecture + document. However! r28 is the result and will conflict with + the clobber list so it is left out. Also the input arguments + registers r20 -> r26 will conflict with the list so they + are treated specially. Although r19 is clobbered by the syscall + we cannot say this because it would violate ABI, thus we say + r4 is clobbered and use that register to save/restore r19 + across the syscall. */ + +#define K_CALL_CLOB_REGS "%r1", "%r2", K_USING_GR4 \ + "%r20", "%r29", "%r31" + +#undef K_INLINE_SYSCALL +#define K_INLINE_SYSCALL(name, nr, args...) ({ \ + long __sys_res; \ + { \ + register unsigned long __res asm("r28"); \ + K_LOAD_ARGS_##nr(args) \ + /* FIXME: HACK stw/ldw r19 around syscall */ \ + asm volatile( \ + K_STW_ASM_PIC \ + " ble 0x100(%%sr2, %%r0)\n" \ + " ldi %1, %%r20\n" \ + K_LDW_ASM_PIC \ + : "=r" (__res) \ + : "i" (SYS_ify(name)) K_ASM_ARGS_##nr \ + : K_CALL_CLOB_REGS K_CLOB_ARGS_##nr \ + ); \ + __sys_res = (long)__res; \ + } \ + if ( (unsigned long)__sys_res >= (unsigned long)-4095 ){ \ + errno = -__sys_res); \ + __sys_res = -1; \ + } \ + __sys_res; \ }) #define K_LOAD_ARGS_0() -#define K_LOAD_ARGS_1(r26) \ - register unsigned long __r26 __asm__("r26") = (unsigned long)r26; \ - K_LOAD_ARGS_0() -#define K_LOAD_ARGS_2(r26,r25) \ - register unsigned long __r25 __asm__("r25") = (unsigned long)r25; \ - K_LOAD_ARGS_1(r26) -#define K_LOAD_ARGS_3(r26,r25,r24) \ - register unsigned long __r24 __asm__("r24") = (unsigned long)r24; \ - K_LOAD_ARGS_2(r26,r25) -#define K_LOAD_ARGS_4(r26,r25,r24,r23) \ - register unsigned long __r23 __asm__("r23") = (unsigned long)r23; \ - K_LOAD_ARGS_3(r26,r25,r24) -#define K_LOAD_ARGS_5(r26,r25,r24,r23,r22) \ - register unsigned long __r22 __asm__("r22") = (unsigned long)r22; \ - K_LOAD_ARGS_4(r26,r25,r24,r23) -#define K_LOAD_ARGS_6(r26,r25,r24,r23,r22,r21) \ - register unsigned long __r21 __asm__("r21") = (unsigned long)r21; \ - K_LOAD_ARGS_5(r26,r25,r24,r23,r22) +#define K_LOAD_ARGS_1(r26) \ + register unsigned long __r26 __asm__("r26") = (unsigned long)(r26); \ + K_LOAD_ARGS_0() +#define K_LOAD_ARGS_2(r26,r25) \ + register unsigned long __r25 __asm__("r25") = (unsigned long)(r25); \ + K_LOAD_ARGS_1(r26) +#define K_LOAD_ARGS_3(r26,r25,r24) \ + register unsigned long __r24 __asm__("r24") = (unsigned long)(r24); \ + K_LOAD_ARGS_2(r26,r25) +#define K_LOAD_ARGS_4(r26,r25,r24,r23) \ + register unsigned long __r23 __asm__("r23") = (unsigned long)(r23); \ + K_LOAD_ARGS_3(r26,r25,r24) +#define K_LOAD_ARGS_5(r26,r25,r24,r23,r22) \ + register unsigned long __r22 __asm__("r22") = (unsigned long)(r22); \ + K_LOAD_ARGS_4(r26,r25,r24,r23) +#define K_LOAD_ARGS_6(r26,r25,r24,r23,r22,r21) \ + register unsigned long __r21 __asm__("r21") = (unsigned long)(r21); \ + K_LOAD_ARGS_5(r26,r25,r24,r23,r22) +/* Even with zero args we use r20 for the syscall number */ #define K_ASM_ARGS_0 -#define K_ASM_ARGS_1 , "r" (__r26) -#define K_ASM_ARGS_2 , "r" (__r26), "r" (__r25) -#define K_ASM_ARGS_3 , "r" (__r26), "r" (__r25), "r" (__r24) -#define K_ASM_ARGS_4 , "r" (__r26), "r" (__r25), "r" (__r24), "r" (__r23) -#define K_ASM_ARGS_5 , "r" (__r26), "r" (__r25), "r" (__r24), "r" (__r23), "r" (__r22) -#define K_ASM_ARGS_6 , "r" (__r26), "r" (__r25), "r" (__r24), "r" (__r23), "r" (__r22), "r" (__r21) +#define K_ASM_ARGS_1 K_ASM_ARGS_0, "r" (__r26) +#define K_ASM_ARGS_2 K_ASM_ARGS_1, "r" (__r25) +#define K_ASM_ARGS_3 K_ASM_ARGS_2, "r" (__r24) +#define K_ASM_ARGS_4 K_ASM_ARGS_3, "r" (__r23) +#define K_ASM_ARGS_5 K_ASM_ARGS_4, "r" (__r22) +#define K_ASM_ARGS_6 K_ASM_ARGS_5, "r" (__r21) + +/* The registers not listed as inputs but clobbered */ +#define K_CLOB_ARGS_6 +#define K_CLOB_ARGS_5 K_CLOB_ARGS_6, "%r21" +#define K_CLOB_ARGS_4 K_CLOB_ARGS_5, "%r22" +#define K_CLOB_ARGS_3 K_CLOB_ARGS_4, "%r23" +#define K_CLOB_ARGS_2 K_CLOB_ARGS_3, "%r24" +#define K_CLOB_ARGS_1 K_CLOB_ARGS_2, "%r25" +#define K_CLOB_ARGS_0 K_CLOB_ARGS_1, "%r26" -#define _syscall0(type,name) \ -type name(void) \ -{ \ - return K_INLINE_SYSCALL(name, 0); \ +#define _syscall0(type,name) \ +type name(void) \ +{ \ + return K_INLINE_SYSCALL(name, 0); \ } -#define _syscall1(type,name,type1,arg1) \ -type name(type1 arg1) \ -{ \ - return K_INLINE_SYSCALL(name, 1, arg1); \ +#define _syscall1(type,name,type1,arg1) \ +type name(type1 arg1) \ +{ \ + return K_INLINE_SYSCALL(name, 1, arg1); \ } -#define _syscall2(type,name,type1,arg1,type2,arg2) \ -type name(type1 arg1, type2 arg2) \ -{ \ - return K_INLINE_SYSCALL(name, 2, arg1, arg2); \ +#define _syscall2(type,name,type1,arg1,type2,arg2) \ +type name(type1 arg1, type2 arg2) \ +{ \ + return K_INLINE_SYSCALL(name, 2, arg1, arg2); \ } -#define _syscall3(type,name,type1,arg1,type2,arg2,type3,arg3) \ -type name(type1 arg1, type2 arg2, type3 arg3) \ -{ \ - return K_INLINE_SYSCALL(name, 3, arg1, arg2, arg3); \ +#define _syscall3(type,name,type1,arg1,type2,arg2,type3,arg3) \ +type name(type1 arg1, type2 arg2, type3 arg3) \ +{ \ + return K_INLINE_SYSCALL(name, 3, arg1, arg2, arg3); \ } -#define _syscall4(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \ -type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4) \ -{ \ - return K_INLINE_SYSCALL(name, 4, arg1, arg2, arg3, arg4); \ +#define _syscall4(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \ +type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4) \ +{ \ + return K_INLINE_SYSCALL(name, 4, arg1, arg2, arg3, arg4); \ } /* select takes 5 arguments */ @@ -834,13 +881,11 @@ type name(type1 arg1, type2 arg2, type3 /* mmap & mmap2 take 6 arguments */ - #define _syscall6(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4,type5,arg5,type6,arg6) \ type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5, type6 arg6) \ -{ \ +{ \ return K_INLINE_SYSCALL(name, 6, arg1, arg2, arg3, arg4, arg5, arg6); \ } - #ifdef __KERNEL_SYSCALLS__ ^ permalink raw reply [flat|nested] 24+ messages in thread
[parent not found: <20040428231338.BB0124945C3@palinux.hppa>]
* [parisc-linux] Re: [parisc-linux-cvs] linux-2.6 carlos [not found] <20040428231338.BB0124945C3@palinux.hppa> @ 2004-04-28 23:15 ` Carlos O'Donell 2004-04-28 23:51 ` Carlos O'Donell 0 siblings, 1 reply; 24+ messages in thread From: Carlos O'Donell @ 2004-04-28 23:15 UTC (permalink / raw) To: parisc-linux On Wed, Apr 28, 2004 at 05:13:38PM -0600, Carlos O'Donell wrote: > CVSROOT: /var/cvs > Module name: linux-2.6 > Changes by: carlos 04/04/28 17:13:38 > > Modified files: > arch/parisc/kernel: syscall_table.S > include/asm-parisc: unistd.h > ipc : compat_mq.c > > Log message: > First cut to get mq_* functions working in userspace. > Fix CONFIG_POSIX_MQUEUE build. Connect mq_* syscalls. > Make our syscall_table match unistd.h definitions. > Boots on my A500, testing new glibc build as we speak. Not too much glue required. Index: arch/parisc/kernel/syscall_table.S =================================================================== RCS file: /var/cvs/linux-2.6/arch/parisc/kernel/syscall_table.S,v retrieving revision 1.6 diff -u -p -r1.6 syscall_table.S --- a/arch/parisc/kernel/syscall_table.S 29 Mar 2004 12:51:52 -0000 1.6 +++ b/arch/parisc/kernel/syscall_table.S 28 Apr 2004 23:09:07 -0000 @@ -334,3 +334,12 @@ ENTRY_SAME(epoll_ctl) /* 225 */ ENTRY_SAME(epoll_wait) ENTRY_SAME(remap_file_pages) + ENTRY_SAME(semtimedop) + ENTRY_SAME(mq_open) + ENTRY_SAME(mq_unlink) /* 230 */ + ENTRY_SAME(mq_timedsend) + ENTRY_SAME(mq_timedreceive) + ENTRY_SAME(mq_notify) + ENTRY_SAME(mq_getsetattr) + /* Nothing yet */ /* 235 */ + Index: include/asm-parisc/unistd.h =================================================================== RCS file: /var/cvs/linux-2.6/include/asm-parisc/unistd.h,v retrieving revision 1.4 diff -u -p -r1.4 unistd.h --- a/include/asm-parisc/unistd.h 16 Mar 2004 15:40:38 -0000 1.4 +++ b/include/asm-parisc/unistd.h 28 Apr 2004 23:09:07 -0000 @@ -700,30 +700,35 @@ #define __NR_acl_set (__NR_Linux + 205) #define __NR_gettid (__NR_Linux + 206) #define __NR_readahead (__NR_Linux + 207) -#define __NR_tkill (__NR_Linux + 208) -#define __NR_sendfile64 (__NR_Linux + 209) -#define __NR_futex (__NR_Linux + 210) -#define __NR_sched_setaffinity (__NR_Linux + 211) -#define __NR_sched_getaffinity (__NR_Linux + 212) -#define __NR_set_thread_area (__NR_Linux + 213) -#define __NR_get_thread_area (__NR_Linux + 214) -#define __NR_io_setup (__NR_Linux + 215) -#define __NR_io_destroy (__NR_Linux + 216) -#define __NR_io_getevents (__NR_Linux + 217) -#define __NR_io_submit (__NR_Linux + 218) -#define __NR_io_cancel (__NR_Linux + 219) -#define __NR_alloc_hugepages (__NR_Linux + 220) -#define __NR_free_hugepages (__NR_Linux + 221) -#define __NR_exit_group (__NR_Linux + 222) -#define __NR_lookup_dcookie (__NR_Linux + 223) -#define __NR_epoll_create (__NR_Linux + 224) -#define __NR_epoll_ctl (__NR_Linux + 225) -#define __NR_epoll_wait (__NR_Linux + 226) -#define __NR_remap_file_pages (__NR_Linux + 227) -#define __NR_semtimedop (__NR_Linux + 228) +#define __NR_tkill (__NR_Linux + 208) +#define __NR_sendfile64 (__NR_Linux + 209) +#define __NR_futex (__NR_Linux + 210) +#define __NR_sched_setaffinity (__NR_Linux + 211) +#define __NR_sched_getaffinity (__NR_Linux + 212) +#define __NR_set_thread_area (__NR_Linux + 213) +#define __NR_get_thread_area (__NR_Linux + 214) +#define __NR_io_setup (__NR_Linux + 215) +#define __NR_io_destroy (__NR_Linux + 216) +#define __NR_io_getevents (__NR_Linux + 217) +#define __NR_io_submit (__NR_Linux + 218) +#define __NR_io_cancel (__NR_Linux + 219) +#define __NR_alloc_hugepages (__NR_Linux + 220) +#define __NR_free_hugepages (__NR_Linux + 221) +#define __NR_exit_group (__NR_Linux + 222) +#define __NR_lookup_dcookie (__NR_Linux + 223) +#define __NR_epoll_create (__NR_Linux + 224) +#define __NR_epoll_ctl (__NR_Linux + 225) +#define __NR_epoll_wait (__NR_Linux + 226) +#define __NR_remap_file_pages (__NR_Linux + 227) +#define __NR_semtimedop (__NR_Linux + 228) +#define __NR_mq_open (__NR_Linux + 229) /* Keep the mq_* syscalls together */ +#define __NR_mq_unlink (__NR_Linux + 230) +#define __NR_mq_timedsend (__NR_Linux + 231) +#define __NR_mq_timedreceive (__NR_Linux + 232) +#define __NR_mq_notify (__NR_Linux + 233) +#define __NR_mq_getsetattr (__NR_Linux + 234) - -#define __NR_Linux_syscalls 228 +#define __NR_Linux_syscalls 235 #define HPUX_GATEWAY_ADDR 0xC0000004 #define LINUX_GATEWAY_ADDR 0x100 Index: ipc/compat_mq.c =================================================================== RCS file: /var/cvs/linux-2.6/ipc/compat_mq.c,v retrieving revision 1.2 diff -u -p -r1.2 compat_mq.c --- a/ipc/compat_mq.c 15 Apr 2004 18:05:29 -0000 1.2 +++ b/ipc/compat_mq.c 28 Apr 2004 23:09:07 -0000 @@ -7,6 +7,7 @@ */ #include <linux/compat.h> +#include <linux/compat_siginfo.h> #include <linux/fs.h> #include <linux/kernel.h> #include <linux/mqueue.h> ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [parisc-linux] Re: [parisc-linux-cvs] linux-2.6 carlos 2004-04-28 23:15 ` Carlos O'Donell @ 2004-04-28 23:51 ` Carlos O'Donell 0 siblings, 0 replies; 24+ messages in thread From: Carlos O'Donell @ 2004-04-28 23:51 UTC (permalink / raw) To: parisc-linux On Wed, Apr 28, 2004 at 07:15:07PM -0400, Carlos O'Donell wrote: > On Wed, Apr 28, 2004 at 05:13:38PM -0600, Carlos O'Donell wrote: > > CVSROOT: /var/cvs > > Module name: linux-2.6 > > Changes by: carlos 04/04/28 17:13:38 > > > > Modified files: > > arch/parisc/kernel: syscall_table.S > > include/asm-parisc: unistd.h > > ipc : compat_mq.c > > > > Log message: > > First cut to get mq_* functions working in userspace. > > Fix CONFIG_POSIX_MQUEUE build. Connect mq_* syscalls. > > Make our syscall_table match unistd.h definitions. > > Boots on my A500, testing new glibc build as we speak. > > Not too much glue required. > Okay, glibc build completed, tests pass. We have functioning posix mq_* support for hppa. c. ^ permalink raw reply [flat|nested] 24+ messages in thread
[parent not found: <20040426044648.93EE4494593@palinux.hppa>]
* [parisc-linux] Re: [parisc-linux-cvs] linux-2.6 carlos [not found] <20040426044648.93EE4494593@palinux.hppa> @ 2004-04-26 4:51 ` Carlos O'Donell 0 siblings, 0 replies; 24+ messages in thread From: Carlos O'Donell @ 2004-04-26 4:51 UTC (permalink / raw) To: parisc-linux; +Cc: parisc-linux-cvs On Sun, Apr 25, 2004 at 10:46:48PM -0600, Carlos O'Donell wrote: > CVSROOT: /var/cvs > Module name: linux-2.6 > Changes by: carlos 04/04/25 22:46:48 > > Modified files: > kernel : compat_signal.c > > Log message: > Add __SI_MESGQ case to compat (simple one liner) Add the __SI_MESGQ case so that siginfo delivers the right data. Index: kernel/compat_signal.c =================================================================== RCS file: /var/cvs/linux-2.6/kernel/compat_signal.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -p -r1.2 -r1.3 --- a/kernel/compat_signal.c 28 Jan 2004 05:12:46 -0000 1.2 +++ b/kernel/compat_signal.c 26 Apr 2004 04:46:48 -0000 1.3 @@ -102,6 +102,7 @@ int compat_copy_siginfo_to_user(compat_s err |= __put_user(compat_from.si_stime, &to->si_stime); break; case __SI_RT: /* This is not generated by the kernel as of now. */ + case __SI_MESGQ: /* But this is */ compat_from.si_pid = (compat_pid_t)(from->si_pid); compat_from.si_uid = (__ARCH_SI_COMPAT_UID_T)(from->si_uid); compat_from.si_int = (compat_int_t)(from->si_int); ^ permalink raw reply [flat|nested] 24+ messages in thread
[parent not found: <20040203230410.71952494194@palinux.hppa>]
* [parisc-linux] Re: [parisc-linux-cvs] linux-2.6 carlos [not found] <20040203230410.71952494194@palinux.hppa> @ 2004-02-03 23:07 ` Carlos O'Donell 0 siblings, 0 replies; 24+ messages in thread From: Carlos O'Donell @ 2004-02-03 23:07 UTC (permalink / raw) To: parisc-linux On Tue, Feb 03, 2004 at 04:04:10PM -0700, Carlos O'Donell wrote: > CVSROOT: /var/cvs > Module name: linux-2.6 > Changes by: carlos 04/02/03 16:04:10 > > Modified files: > include/linux : compat.h > > Log message: > Personality is a bitmask, so we use personality() to extract just the base personality before checking for PER_LINUX32 e.g. A compat task > This booboo would have bitten eventually. c. Index: include/linux/compat.h =================================================================== RCS file: /var/cvs/linux-2.6/include/linux/compat.h,v retrieving revision 1.7 retrieving revision 1.8 diff -u -p -r1.7 -r1.8 --- include/linux/compat.h 28 Jan 2004 05:12:46 -0000 1.7 +++ include/linux/compat.h 3 Feb 2004 23:04:09 -0000 1.8 @@ -23,7 +23,7 @@ /* Non-native task requiring compat */ #ifndef HAVE_ARCH_IS_COMPAT_TASK -#define is_compat_task(x) (x->personality == PER_LINUX32) +#define is_compat_task(x) (personality(x->personality) == PER_LINUX32) #endif struct compat_itimerspec { ^ permalink raw reply [flat|nested] 24+ messages in thread
[parent not found: <20040203215113.E38D0494194@palinux.hppa>]
* [parisc-linux] Re: [parisc-linux-cvs] linux-2.6 carlos [not found] <20040203215113.E38D0494194@palinux.hppa> @ 2004-02-03 21:53 ` Carlos O'Donell 0 siblings, 0 replies; 24+ messages in thread From: Carlos O'Donell @ 2004-02-03 21:53 UTC (permalink / raw) To: parisc-linux On Tue, Feb 03, 2004 at 02:51:13PM -0700, Carlos O'Donell wrote: > CVSROOT: /var/cvs > Module name: linux-2.6 > Changes by: carlos 04/02/03 14:51:13 > > Modified files: > include/linux : compat_siginfo.h > > Log message: > Change compat_copy_siginfo_to_user to take the true argument values of the function. > > _______________________________________________ > parisc-linux-cvs mailing list > parisc-linux-cvs@lists.parisc-linux.org > http://lists.parisc-linux.org/mailman/listinfo/parisc-linux-cvs This matches what I've sent upstream to akpm. Index: include/linux/compat_siginfo.h =================================================================== RCS file: /var/cvs/linux-2.6/include/linux/compat_siginfo.h,v retrieving revision 1.2 diff -u -p -r1.2 compat_siginfo.h --- include/linux/compat_siginfo.h 28 Jan 2004 05:12:46 -0000 1.2 +++ include/linux/compat_siginfo.h 3 Feb 2004 21:50:30 -0000 @@ -11,7 +11,8 @@ typedef struct compat_siginfo{ } compat_siginfo_t; -static inline int compat_copy_siginfo_to_user(void *x, unsigned long y) +static inline int compat_copy_siginfo_to_user(compat_siginfo_t __user *to, + struct siginfo *from) { return -1; } ^ permalink raw reply [flat|nested] 24+ messages in thread
[parent not found: <20040128051415.4C9724941AA@palinux.hppa>]
* [parisc-linux] Re: [parisc-linux-cvs] linux-2.6 carlos [not found] <20040128051415.4C9724941AA@palinux.hppa> @ 2004-01-28 5:25 ` Carlos O'Donell 0 siblings, 0 replies; 24+ messages in thread From: Carlos O'Donell @ 2004-01-28 5:25 UTC (permalink / raw) To: parisc-linux On Tue, Jan 27, 2004 at 10:14:15PM -0700, Carlos O'Donell wrote: > CVSROOT: /var/cvs > Module name: linux-2.6 > Changes by: carlos 04/01/27 22:14:15 > > Modified files: > include/asm-parisc: posix_types.h > > Log message: > __kernel_time_t should be of type long on 32-bit systems, it used to be int > The generic code expects this to be of type long on all builds, even 32-bit. This might cause other warnings in parisc drivers that have gotten used to having time_t as int. Index: include/asm-parisc/posix_types.h =================================================================== RCS file: /var/cvs/linux-2.6/include/asm-parisc/posix_types.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -p -r1.2 -r1.3 --- include/asm-parisc/posix_types.h 28 Sep 2003 04:06:17 -0000 1.2 +++ include/asm-parisc/posix_types.h 28 Jan 2004 05:14:14 -0000 1.3 @@ -29,7 +29,7 @@ typedef long __kernel_time_t; typedef unsigned int __kernel_size_t; typedef int __kernel_ssize_t; typedef int __kernel_ptrdiff_t; -typedef int __kernel_time_t; +typedef long __kernel_time_t; #endif typedef char * __kernel_caddr_t; ^ permalink raw reply [flat|nested] 24+ messages in thread
[parent not found: <20040128051247.D6C6C4941AA@palinux.hppa>]
* [parisc-linux] Re: [parisc-linux-cvs] linux-2.6 carlos [not found] <20040128051247.D6C6C4941AA@palinux.hppa> @ 2004-01-28 5:23 ` Carlos O'Donell 0 siblings, 0 replies; 24+ messages in thread From: Carlos O'Donell @ 2004-01-28 5:23 UTC (permalink / raw) To: parisc-linux On Tue, Jan 27, 2004 at 10:12:47PM -0700, Carlos O'Donell wrote: > CVSROOT: /var/cvs > Module name: linux-2.6 > Changes by: carlos 04/01/27 22:12:47 > > Modified files: > kernel : signal.c compat_signal.c > include/linux : compat_siginfo.h compat.h > include/asm-parisc: compat_ucontext.h compat_rt_sigframe.h > include/asm-generic: compat_signal.h > > Log message: > Update the compat_siginfo_t framework. > This patch is an update based on feedback from the linux-arch community. Notably we add is_compat_task() and let the compiler optimize out the code when CONFIG_COMPAT is not set. It also completes the changeover to using include/linux/compat_siginfo.h instead of the asm-generic version, which required that all arches add a compat_siginfo.h to their asm directory. Index: kernel/signal.c =================================================================== RCS file: /var/cvs/linux-2.6/kernel/signal.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -p -r1.10 -r1.11 --- kernel/signal.c 11 Dec 2003 00:48:55 -0000 1.10 +++ kernel/signal.c 28 Jan 2004 05:12:46 -0000 1.11 @@ -24,15 +24,11 @@ #include <linux/binfmts.h> #include <linux/security.h> #include <linux/ptrace.h> +#include <linux/compat_siginfo.h> #include <asm/param.h> #include <asm/uaccess.h> #include <asm/siginfo.h> -#ifdef CONFIG_COMPAT -#include <linux/personality.h> -#include <asm/compat_siginfo.h> -#endif - /* * SLAB caches for signal bits. */ @@ -2011,12 +2007,11 @@ int copy_siginfo_to_user(siginfo_t __use if (from->si_code < 0) return __copy_to_user(to, from, sizeof(siginfo_t)) ? -EFAULT : 0; -# ifdef CONFIG_COMPAT + /* Use compat_siginfo_t with 32-bit signals */ - if(personality(current->personality) == PER_LINUX32){ + if(is_compat_task(current)){ return compat_copy_siginfo_to_user((compat_siginfo_t __user *)to,from); } -# endif /* * If you change siginfo_t structure, please be sure Index: kernel/compat_signal.c =================================================================== RCS file: /var/cvs/linux-2.6/kernel/compat_signal.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- kernel/compat_signal.c 10 Dec 2003 22:37:50 -0000 1.1 +++ kernel/compat_signal.c 28 Jan 2004 05:12:46 -0000 1.2 @@ -4,7 +4,7 @@ * 2003-12-20 Carlos O'Donell * Copied linux/kernel/compat_signal.c (copy_siginfo_to_user) * and modified to use compat_siginfo_t for thunking down to - * 32-bit userspace with an ELF64 kernel. + * 32-bit userspace from a 64-bit kernel. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -19,14 +19,12 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ -/*#define __KERNEL_SYSCALLS__*/ - +#include <linux/compat_siginfo.h> #include <asm/errno.h> -#include <asm/compat_siginfo.h> #include <asm/uaccess.h> #include <asm/siginfo.h> @@ -41,8 +39,8 @@ int compat_copy_siginfo_to_user(compat_s return -EFAULT; /* - * If you change siginfo_t structure, please be sure - * this code is fixed accordingly. + * If you change compat_siginfo_t structure *or* siginfo_t, + * please be sure this code is fixed accordingly. * It should never copy any pad contained in the structure * to avoid security leaks, but must copy the generic * 3 ints plus the relevant union member. @@ -86,7 +84,7 @@ int compat_copy_siginfo_to_user(compat_s case __SI_FAULT: compat_from.si_addr = (compat_uptr_t)((u64)(from->si_addr) & 0xffffffffUL); err |= __put_user(compat_from.si_addr, &to->si_addr); -#ifdef __ARCH_SI_TRAPNO +#ifdef __ARCH_SI_COMPAT_TRAPNO compat_from.si_trapno = (compat_int_t)(from->si_addr); err |= __put_user(compat_from.si_trapno, &to->si_trapno); #endif Index: include/linux/compat_siginfo.h =================================================================== RCS file: /var/cvs/linux-2.6/include/linux/compat_siginfo.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- include/linux/compat_siginfo.h 26 Jan 2004 21:09:14 -0000 1.1 +++ include/linux/compat_siginfo.h 28 Jan 2004 05:12:46 -0000 1.2 @@ -6,18 +6,18 @@ #ifndef CONFIG_COMPAT -/* No compatibility layer required, add empty definitions - for the compiler */ +/* No compatibility layer required, add empty definitions for the compiler */ typedef struct compat_siginfo{ } compat_siginfo_t; static inline int compat_copy_siginfo_to_user(void *x, unsigned long y) { - return 0; + return -1; } #else + #include <linux/compiler.h> #include <asm/siginfo.h> @@ -166,3 +166,4 @@ extern int compat_copy_siginfo_to_user(c #endif /* CONFIG_COMPAT */ #endif /* _ASM_GENERIC_COMPAT_SIGINFO_H */ + Index: include/linux/compat.h =================================================================== RCS file: /var/cvs/linux-2.6/include/linux/compat.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -p -r1.6 -r1.7 --- include/linux/compat.h 27 Jan 2004 22:02:36 -0000 1.6 +++ include/linux/compat.h 28 Jan 2004 05:12:46 -0000 1.7 @@ -6,15 +6,26 @@ */ #include <linux/config.h> -#ifdef CONFIG_COMPAT +#ifndef CONFIG_COMPAT + +/* Non-native task requiring compat... doesn't exist */ +#define is_compat_task(x) 0 + +#else #include <linux/stat.h> #include <linux/param.h> /* for HZ */ +#include <linux/personality.h> /* Conditional process compat */ #include <asm/compat.h> #define compat_jiffies_to_clock_t(x) \ (((unsigned long)(x) * COMPAT_USER_HZ) / HZ) +/* Non-native task requiring compat */ +#ifndef HAVE_ARCH_IS_COMPAT_TASK +#define is_compat_task(x) (x->personality == PER_LINUX32) +#endif + struct compat_itimerspec { struct compat_timespec it_interval; struct compat_timespec it_value; Index: include/asm-parisc/compat_ucontext.h =================================================================== RCS file: /var/cvs/linux-2.6/include/asm-parisc/compat_ucontext.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- include/asm-parisc/compat_ucontext.h 10 Dec 2003 22:37:10 -0000 1.1 +++ include/asm-parisc/compat_ucontext.h 28 Jan 2004 05:12:47 -0000 1.2 @@ -4,7 +4,7 @@ #include<linux/compat.h> #include<asm/compat_signal.h> -/* ELF32 ucontext as seen from an ELF64 kernel */ +/* 32-bit ucontext as seen from an 64-bit kernel */ struct compat_ucontext { compat_uint_t uc_flags; compat_uptr_t uc_link; Index: include/asm-parisc/compat_rt_sigframe.h =================================================================== RCS file: /var/cvs/linux-2.6/include/asm-parisc/compat_rt_sigframe.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- include/asm-parisc/compat_rt_sigframe.h 10 Dec 2003 22:36:09 -0000 1.1 +++ include/asm-parisc/compat_rt_sigframe.h 28 Jan 2004 05:12:47 -0000 1.2 @@ -1,5 +1,5 @@ #include<linux/compat.h> -#include<asm/compat_siginfo.h> +#include<linux/compat_siginfo.h> #include<asm/compat_ucontext.h> #ifndef _ASM_PARISC_COMPAT_RT_SIGFRAME_H Index: include/asm-generic/compat_signal.h =================================================================== RCS file: /var/cvs/linux-2.6/include/asm-generic/compat_signal.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- include/asm-generic/compat_signal.h 10 Dec 2003 22:35:48 -0000 1.1 +++ include/asm-generic/compat_signal.h 28 Jan 2004 05:12:47 -0000 1.2 @@ -1,8 +1,8 @@ #ifndef _ASM_GENERIC_COMPAT_SIGNAL_H #define _ASM_GENERIC_COMPAT_SIGNAL_H -# ifndef __ASSEMBLY__ -# include <linux/types.h> +#ifndef __ASSEMBLY__ +#include <linux/compat.h> typedef compat_uptr_t compat_sighandler_t; @@ -12,8 +12,6 @@ typedef struct compat_sigaltstack { compat_size_t ss_size; } compat_stack_t; -# ifdef __KERNEL__ - /* Most things should be clean enough to redefine this at will, if care is taken to make libc match. */ @@ -23,6 +21,5 @@ struct compat_sigaction { compat_sigset_t sa_mask; /* mask last for extensibility */ }; -# endif /* __KERNEL__ */ -# endif /* !__ASSEMBLY */ -#endif /* _ASM_GENERIC_COMPAT_SIGNAL_H */ +#endif /* !__ASSEMBLY__ */ +#endif /* !_ASM_GENERIC_COMPAT_SIGNAL_H */ ^ permalink raw reply [flat|nested] 24+ messages in thread
[parent not found: <20031211004856.66476494275@palinux.hppa>]
* [parisc-linux] Re: [parisc-linux-cvs] linux-2.6 carlos [not found] <20031211004856.66476494275@palinux.hppa> @ 2003-12-11 1:23 ` Carlos O'Donell 0 siblings, 0 replies; 24+ messages in thread From: Carlos O'Donell @ 2003-12-11 1:23 UTC (permalink / raw) To: parisc-linux On Wed, Dec 10, 2003 at 05:48:56PM -0700, Carlos O'Donell wrote: > CVSROOT: /var/cvs > Module name: linux-2.6 > Changes by: carlos 03/12/10 17:48:56 > > Modified files: > include/asm-parisc: rt_sigframe.h > kernel : Makefile signal.c > > Log message: > Wrap the signal compat in CONFIG_COMPAT so 32-bit builds work properly. I assumed CONFIG_COMPAT=Y for all the scenarios, and when Helge said his 32-bit build didn't work I had to slap my forehead. So this patch removes all the compat signal code when doing a 32-bit compile. c. ^ permalink raw reply [flat|nested] 24+ messages in thread
[parent not found: <20031210224026.33A39494275@palinux.hppa>]
* [parisc-linux] Re: [parisc-linux-cvs] linux-2.6 carlos [not found] <20031210224026.33A39494275@palinux.hppa> @ 2003-12-11 1:03 ` Carlos O'Donell 0 siblings, 0 replies; 24+ messages in thread From: Carlos O'Donell @ 2003-12-11 1:03 UTC (permalink / raw) To: parisc-linux On Wed, Dec 10, 2003 at 03:40:26PM -0700, Carlos O'Donell wrote: > CVSROOT: /var/cvs > Module name: linux-2.6 > Changes by: carlos 03/12/10 15:40:25 > > Modified files: > include/asm-parisc: compat.h rt_sigframe.h siginfo.h ucontext.h > > Log message: > Cleanup for non-native thread signals, and ensure that during 64-bit builds everything works too. You may have noticed the following: 8 #define SIGRETURN_TRAMP 4 9 #define SIGRESTARTBLOCK_TRAMP 5 10 #define TRAMP_SIZE (SIGRETURN_TRAMP + SIGRESTARTBLOCK_TRAMP) 11 12 struct rt_sigframe { 13 /* XXX: Must match trampoline size in arch/parisc/kernel/signal.c 14 Secondary to that it must protect the ERESTART_RESTARTBLOCK 15 trampoline we left on the stack (we were bad and didn't 16 change sp so we could run really fast.) */ 17 unsigned int tramp[TRAMP_SIZE]; 18 struct siginfo info; 19 struct ucontext uc; 20 }; And wondered "Why do people write XXX: followed by some scary sounding stuff?" Here is the part where we clarify what this means. When Randolph wrote the ERESTART_RESTARTBLOCK code he used a stack trampoline to rewrite the syscall entry into the kernel with a different syscall number. This stack trampoline is *unprotected* and the stack pointer is not adjusted. If one were to take a signal while executing the ERESTART_RESTARTBLOCK stack trampoline the signal's frame would destroy the trampoline. Instead we *notch* 5 more words out of the front of the signal frame to protect a possible ERESTART_RESTARTBLOCK trampoline. The signal code used to do exactly the same thing before, it had it's own notch for the sigreturn trampoline on the stack. Thus now we protect both trampolines. What if you took another ERESTART_RESTARTBLOCK signal while walking the last ERESTART_RESTARTBLOCK trampoline? Well that scenario isn't allowed to happen, and according to Linux we have to disable ERESTART_RESTARTBLOCK until we are back in the kernel handling the restart. We still haven't fixed this last bit. c. ^ permalink raw reply [flat|nested] 24+ messages in thread
[parent not found: <20031108210057.7FFAB49402D@palinux.hppa>]
* [parisc-linux] Re: [parisc-linux-cvs] linux-2.6 carlos [not found] <20031108210057.7FFAB49402D@palinux.hppa> @ 2003-11-08 21:16 ` Joel Soete 2003-11-08 22:11 ` Carlos O'Donell 0 siblings, 1 reply; 24+ messages in thread From: Joel Soete @ 2003-11-08 21:16 UTC (permalink / raw) To: parisc-linux, Carlos O'Donell Just because it still failed to boot on my b2k (Suckio pb), may I ask you your .config file (if it is not the defconfig) and also which 64bit compiler did you used. Thanks again for additional help, Joel Carlos O'Donell wrote: > CVSROOT: /var/cvs > Module name: linux-2.6 > Changes by: carlos 03/11/08 14:00:57 > > Modified files: > . : Makefile > > Log message: > Trap handling changes made. Boots on A500, 64-bit kernel. Bumped to -pa5 > > _______________________________________________ > parisc-linux-cvs mailing list > parisc-linux-cvs@lists.parisc-linux.org > http://lists.parisc-linux.org/mailman/listinfo/parisc-linux-cvs > ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [parisc-linux] Re: [parisc-linux-cvs] linux-2.6 carlos 2003-11-08 21:16 ` Joel Soete @ 2003-11-08 22:11 ` Carlos O'Donell 0 siblings, 0 replies; 24+ messages in thread From: Carlos O'Donell @ 2003-11-08 22:11 UTC (permalink / raw) To: Joel Soete; +Cc: parisc-linux On Sat, Nov 08, 2003 at 09:16:38PM +0000, Joel Soete wrote: > Just because it still failed to boot on my b2k (Suckio pb), may I ask > you your .config file (if it is not the defconfig) and also which 64bit > compiler did you used. Custom built 64-bit cross based on 3.3.1 release and upstream binutils. Adding your fix for the suckio pb right now. c. ^ permalink raw reply [flat|nested] 24+ messages in thread
[parent not found: <20031108205955.7039B49402D@palinux.hppa>]
* [parisc-linux] Re: [parisc-linux-cvs] linux-2.6 carlos [not found] <20031108205955.7039B49402D@palinux.hppa> @ 2003-11-08 20:58 ` Carlos O'Donell [not found] ` <3FAD63B7.6020805@tiscali.be> 0 siblings, 1 reply; 24+ messages in thread From: Carlos O'Donell @ 2003-11-08 20:58 UTC (permalink / raw) To: parisc-linux; +Cc: Randolph Chung On Sat, Nov 08, 2003 at 01:59:55PM -0700, Carlos O'Donell wrote: > CVSROOT: /var/cvs > Module name: linux-2.6 > Changes by: carlos 03/11/08 13:59:55 > > Modified files: > arch/parisc/kernel: traps.c > > Log message: > Cleanup trap handling for codes 13,15,16 and 17. In particular forward port 13, and make 17 non-fatal to the kernel (only the process should die). tausq, Here's the trap handler cleanup I promised. Please comment. c. Index: Makefile =================================================================== RCS file: /var/cvs/linux-2.6/Makefile,v retrieving revision 1.83 diff -u -p -r1.83 Makefile --- Makefile 2 Nov 2003 04:40:49 -0000 1.83 +++ Makefile 8 Nov 2003 20:53:32 -0000 @@ -1,7 +1,7 @@ VERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 0 -EXTRAVERSION = -test9-pa4 +EXTRAVERSION = -test9-pa5 # *DOCUMENTATION* # To see a list of typical targets execute "make help" Index: arch/parisc/kernel/traps.c =================================================================== RCS file: /var/cvs/linux-2.6/arch/parisc/kernel/traps.c,v retrieving revision 1.10 diff -u -p -r1.10 traps.c --- arch/parisc/kernel/traps.c 8 Oct 2003 20:52:07 -0000 1.10 +++ arch/parisc/kernel/traps.c 8 Nov 2003 20:53:35 -0000 @@ -557,20 +557,41 @@ void handle_interruption(int code, struc si.si_addr = (void *) regs->iaoq[0]; force_sig_info(SIGFPE, &si, current); return; - + + case 13: + /* Conditional Trap + The condition succees in an instruction which traps + on condition */ + si.si_signo = SIGFPE; + /* Set to zero, and let the userspace app figure it out from + the insn pointed to by si_addr */ + si.si_code = 0; + si.si_addr = (void *) regs->iaoq[0]; + force_sig_info(SIGFPE, &si, current); + return; + case 14: /* Assist Exception Trap, i.e. floating point exception. */ die_if_kernel("Floating point exception", regs, 0); /* quiet */ handle_fpe(regs); return; - + + case 15: + /* Data TLB miss fault/Data page fault */ + /* Fall through */ + case 16: + /* Non-access instruction TLB miss fault */ + /* The instruction TLB entry needed for the target address of the FIC + is absent, and hardware can't find it, so we get to cleanup */ + /* Fall through */ case 17: /* Non-access data TLB miss fault/Non-access data page fault */ /* TODO: Still need to add slow path emulation code here */ - pdc_chassis_send_status(PDC_CHASSIS_DIRECT_PANIC); - + /* TODO: Understand what is meant by the TODO listed + above this one. (Carlos) */ fault_address = regs->ior; - parisc_terminate("Non access data tlb fault!",regs,code,fault_address); + fault_space = regs->isr; + break; case 18: /* PCXS only -- later cpu's split this into types 26,27 & 28 */ @@ -580,9 +601,8 @@ void handle_interruption(int code, struc return; } /* Fall Through */ - - case 15: /* Data TLB miss fault/Data page fault */ - case 26: /* PCXL: Data memory access rights trap */ + case 26: + /* PCXL: Data memory access rights trap */ fault_address = regs->ior; fault_space = regs->isr; break; @@ -638,7 +658,6 @@ void handle_interruption(int code, struc up_read(¤t->mm->mmap_sem); } /* Fall Through */ - case 27: /* Data memory protection ID trap */ die_if_kernel("Protection id trap", regs, code); ^ permalink raw reply [flat|nested] 24+ messages in thread
[parent not found: <3FAD63B7.6020805@tiscali.be>]
* Re: [parisc-linux] Re: [parisc-linux-cvs] linux-2.6 carlos [not found] ` <3FAD63B7.6020805@tiscali.be> @ 2003-11-08 22:00 ` Carlos O'Donell 0 siblings, 0 replies; 24+ messages in thread From: Carlos O'Donell @ 2003-11-08 22:00 UTC (permalink / raw) To: Joel Soete; +Cc: parisc-linux On Sat, Nov 08, 2003 at 09:44:23PM +0000, Joel Soete wrote: > + case 13: > + if (user_mode(regs)) { > +#ifdef PRINT_USER_FAULTS > + printk(KERN_DEBUG "\nhandle_interruption() id=%d > command='%s'\n", > + current->pid, current->comm); > + show_regs(regs); > +#endif > + /* Conditional Trap > + The condition succees in an instruction which > traps on condition */ > + si.si_signo = SIGFPE; > [...] > + return; > + } else break; > > (sorry for bad wrap but I also join the patch I suggested) > > But you can prefer to ignore as it is just a work around and that I > don't yet see what other solution could be bring to such pb? Adding the check for user_mode. Thanks Joel! It seems that the kernel tries to use 'addi,tc' and a few other whichs might generate a trap. c. ^ permalink raw reply [flat|nested] 24+ messages in thread
end of thread, other threads:[~2004-04-30 15:57 UTC | newest]
Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20040128060516.492DE4941AA@palinux.hppa>
2004-01-28 14:00 ` [parisc-linux] RE: [parisc-linux-cvs] linux-2.6 carlos Joel Soete
2004-01-28 23:11 ` Carlos O'Donell
2004-01-29 7:28 ` Joel Soete
2004-01-29 9:25 ` Joel Soete
2004-02-01 0:40 ` [parisc-linux] About 2.6 64bit on b2k? Joel Soete
2004-02-01 5:00 ` Grant Grundler
2004-02-01 12:18 ` Joel Soete
2004-02-01 20:05 ` [parisc-linux] RE: [parisc-linux-cvs] linux-2.6 carlos Randolph Chung
2004-02-02 10:25 ` Joel Soete
2004-02-02 17:50 ` Joel Soete
[not found] <20040430141548.EFE284945CD@palinux.hppa>
2004-04-30 15:57 ` [parisc-linux] " Carlos O'Donell
[not found] <20040428231338.BB0124945C3@palinux.hppa>
2004-04-28 23:15 ` Carlos O'Donell
2004-04-28 23:51 ` Carlos O'Donell
[not found] <20040426044648.93EE4494593@palinux.hppa>
2004-04-26 4:51 ` Carlos O'Donell
[not found] <20040203230410.71952494194@palinux.hppa>
2004-02-03 23:07 ` Carlos O'Donell
[not found] <20040203215113.E38D0494194@palinux.hppa>
2004-02-03 21:53 ` Carlos O'Donell
[not found] <20040128051415.4C9724941AA@palinux.hppa>
2004-01-28 5:25 ` Carlos O'Donell
[not found] <20040128051247.D6C6C4941AA@palinux.hppa>
2004-01-28 5:23 ` Carlos O'Donell
[not found] <20031211004856.66476494275@palinux.hppa>
2003-12-11 1:23 ` Carlos O'Donell
[not found] <20031210224026.33A39494275@palinux.hppa>
2003-12-11 1:03 ` Carlos O'Donell
[not found] <20031108210057.7FFAB49402D@palinux.hppa>
2003-11-08 21:16 ` Joel Soete
2003-11-08 22:11 ` Carlos O'Donell
[not found] <20031108205955.7039B49402D@palinux.hppa>
2003-11-08 20:58 ` Carlos O'Donell
[not found] ` <3FAD63B7.6020805@tiscali.be>
2003-11-08 22:00 ` Carlos O'Donell
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.