You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
(12) |
May
(82) |
Jun
(72) |
Jul
(39) |
Aug
(104) |
Sep
(61) |
Oct
(55) |
Nov
(101) |
Dec
(48) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
(52) |
Feb
(67) |
Mar
(18) |
Apr
(16) |
May
(33) |
Jun
(12) |
Jul
(102) |
Aug
(168) |
Sep
(65) |
Oct
(60) |
Nov
(43) |
Dec
(121) |
2002 |
Jan
(69) |
Feb
(32) |
Mar
(90) |
Apr
(59) |
May
(45) |
Jun
(43) |
Jul
(33) |
Aug
(21) |
Sep
(11) |
Oct
(20) |
Nov
(26) |
Dec
(3) |
2003 |
Jan
(12) |
Feb
(18) |
Mar
(11) |
Apr
(11) |
May
(41) |
Jun
(76) |
Jul
(77) |
Aug
(15) |
Sep
(38) |
Oct
(56) |
Nov
(19) |
Dec
(39) |
2004 |
Jan
(17) |
Feb
(52) |
Mar
(36) |
Apr
(34) |
May
(48) |
Jun
(85) |
Jul
(38) |
Aug
(42) |
Sep
(41) |
Oct
(77) |
Nov
(27) |
Dec
(19) |
2005 |
Jan
(32) |
Feb
(35) |
Mar
(29) |
Apr
(8) |
May
(7) |
Jun
(31) |
Jul
(46) |
Aug
(93) |
Sep
(65) |
Oct
(85) |
Nov
(219) |
Dec
(47) |
2006 |
Jan
(170) |
Feb
(103) |
Mar
(49) |
Apr
(43) |
May
(45) |
Jun
(29) |
Jul
(77) |
Aug
(82) |
Sep
(43) |
Oct
(45) |
Nov
(26) |
Dec
(85) |
2007 |
Jan
(42) |
Feb
(48) |
Mar
(64) |
Apr
(31) |
May
(88) |
Jun
(53) |
Jul
(175) |
Aug
(212) |
Sep
(91) |
Oct
(103) |
Nov
(110) |
Dec
(5) |
2008 |
Jan
(20) |
Feb
(11) |
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(5) |
Sep
(3) |
Oct
(12) |
Nov
|
Dec
|
From: Paul M. <le...@li...> - 2007-03-02 06:32:48
|
On Fri, Mar 02, 2007 at 07:06:09AM +0100, Manuel Lauss wrote: > On Thu, Mar 01, 2007 at 11:43:28PM +0000, Kristoffer Ericson wrote: > > + .start = 0x1f0 + 0x206, <------------ Error? > > + .end = 0x1f0 +8 + 0x206 + 8, > > + .flags = IORESOURCE_IO, > > 3f6 is correct. .end should be 3f7. (have alook at > arch/sh/cchips/hd6446x/hd64461/io.c::PORT2ADDR()). > > Maybe you could even use the "real" MMIO addresses of > the hd64461 pcmcia0 region (0xb50001f0), and one day get rid of > that ugly io.c file altogether... > Indeed, and in this case, there's really no reason _not_ to use the MMIO address. The reason some folks were using the PIO addresses before were as a lame way to take care of port shifting, and this is really the wrong way to go about it. If there's a real inability to do an access of that size, then it's something the driver has to deal with, we shouldn't be papering over it in the machvec. I would say rip out the HD64461 entries from the machvec entirely and see what falls out. I imagine PCMCIA will be a problem, but this needs an overhaul for the hardirq changes anyways, and then we're likely left with something much smaller that we can push in as an MFD driver, and kill off the rest of the cchip mess. The io.c's have always been utter crap, the sooner we can kill off the outstanding ones, the better. |
From: Manuel L. <ma...@ro...> - 2007-03-02 06:06:16
|
On Thu, Mar 01, 2007 at 11:43:28PM +0000, Kristoffer Ericson wrote: > + .start = 0x1f0 + 0x206, <------------ Error? > + .end = 0x1f0 +8 + 0x206 + 8, > + .flags = IORESOURCE_IO, 3f6 is correct. .end should be 3f7. (have alook at arch/sh/cchips/hd6446x/hd64461/io.c::PORT2ADDR()). Maybe you could even use the "real" MMIO addresses of the hd64461 pcmcia0 region (0xb50001f0), and one day get rid of that ugly io.c file altogether... -- ml. |
From: Kristoffer E. <kri...@ho...> - 2007-03-01 23:43:37
|
(forgot to attach patch) #include <asm/irq.h> #include <asm/hp6xx.h> #include <asm/cpu/dac.h> +#include <linux/platform_device.h> #define SCPCR 0xa4000116 #define SCPDR 0xa4000136 +static struct resource cf_ide_resources[] = { + [0] = { + .start = 0x1f0, + .end = 0x1f0 + 8, + .flags = IORESOURCE_IO, + }, + [1] = { + .start = 0x1f0 + 0x206, <------------ Error? + .end = 0x1f0 +8 + 0x206 + 8, + .flags = IORESOURCE_IO, + }, + [2] = { + .start = 93, + .flags = IORESOURCE_IRQ, + }, +}; + +static struct platform_device cf_ide_device = { + .name = "pata_platform", + .id = -1, + .num_resources = ARRAY_SIZE(cf_ide_resources), + .resource = cf_ide_resources, +}; + +static struct platform_device *hp6xx_devices[] __initdata = { + + &cf_ide_device, +}; + +static int __init hp6xx_devices_setup(void) +{ + return platform_add_devices(hp6xx_devices,ARRAY_SIZE(hp6xx_devices)); +} + static void __init hp6xx_setup(char **cmdline_p) { u8 v8; u16 v; + device_initcall(hp6xx_devices_setup); + v = inw(HD64461_STBCR); v |= HD64461_STBCR_SURTST | HD64461_STBCR_SIRST | HD64461_STBCR_STM1ST | HD64461_STBCR_STM0ST | _________________________________________________________________ Don't just search. Find. Check out the new MSN Search! http://search.msn.com/ |
From: Kristoffer E. <kri...@ho...> - 2007-03-01 23:41:11
|
Greetings, I tried to get pata support working properly and it now detects the CF slot and the sandisk card inside it (with correct size). Upon bootup (from root device) it produces these errors: Freeing unused kernel memory: 68k freed Fixing up unaligned userspace access in "hotplug" pid=181 pc=0x000141ea ins=0x5436 Fixing up unaligned userspace access in "hotplug" pid=181 pc=0x000141ee ins=0x0203 Sending SIGBUS to "hotplug" due to unaligned access (PC 141f1 PR 141f2) Fixing up unaligned userspace access in "hotplug" pid=182 pc=0x000141ea ins=0x5436 Fixing up unaligned userspace access in "hotplug" pid=182 pc=0x000141ee ins=0x0203 Sending SIGBUS to "hotplug" due to unaligned access (PC 141f1 PR 141f2) I've attached the pata patch and please note that the only driver left to implement is the hp6xx keyboard (if that has anything to do with it for whatever reason). Best wishes Kristoffer Ericson _________________________________________________________________ Don't just search. Find. Check out the new MSN Search! http://search.msn.click-url.com/go/onm00200636ave/direct/01/ |
From: Paul M. <le...@li...> - 2007-03-01 03:06:42
|
On Thu, Mar 01, 2007 at 11:52:41AM +0900, Hideo Saito wrote: > When '-ERESTARTNOINTR' is returned from fork syscall, do_signal() > subtracts 2 from the address that is handled by alarm signal. > This was already spotted and fixed in current git by Sakato-san, in the case where we actually have a signal we should simply be returning. I'll send this off for inclusion in the -stable tree. commit fade884146b44be85b0987c8357194a16ea72f90 Author: Ryusuke Sakato <sa...@hs...> Date: Fri Feb 23 13:22:56 2007 +0900 sh: Fix sigmask trampling in signal delivery. There was a missing return in do_signal() that caused the saved sigmask to be written back after having successfully delivered the signal. Signed-off-by: Ryusuke Sakato <sa...@hs...> Signed-off-by: Paul Mundt <le...@li...> diff --git a/arch/sh/kernel/signal.c b/arch/sh/kernel/signal.c index 32f10a0..9f39ef1 100644 --- a/arch/sh/kernel/signal.c +++ b/arch/sh/kernel/signal.c @@ -589,6 +589,8 @@ static void do_signal(struct pt_regs *regs, unsigned int save_r0) if (test_thread_flag(TIF_RESTORE_SIGMASK)) clear_thread_flag(TIF_RESTORE_SIGMASK); } + + return; } no_signal: @@ -598,7 +600,7 @@ static void do_signal(struct pt_regs *regs, unsigned int save_r0) if (regs->regs[0] == -ERESTARTNOHAND || regs->regs[0] == -ERESTARTSYS || regs->regs[0] == -ERESTARTNOINTR) { - regs->regs[0] = save_r0; + regs->regs[0] = save_r0; regs->pc -= 2; } else if (regs->regs[0] == -ERESTART_RESTARTBLOCK) { regs->pc -= 2; |
From: Hideo S. <sa...@de...> - 2007-03-01 02:53:06
|
Hi Paul, When I run spawn that is one of benchmark programs on unixbench-4.1.0, an error is asserted as follows. % spawn 30 Illegal instruction The caused PC is 0x4007fe, but the PC should be 0x400800, please refer to appended spawn's disassembled list. The 'report' is handled by alarm signal. When '-ERESTARTNOINTR' is returned from fork syscall, do_signal() subtracts 2 from the address that is handled by alarm signal. I think that the following patch can avoid this problem because the handled function does not come from a system call. --- arch/sh/kernel/signal.c.org Mon Feb 5 03:44:54 2007 +++ arch/sh/kernel/signal.c Thu Mar 1 11:14:54 2007 @@ -583,16 +583,17 @@ static void do_signal(struct pt_regs *re /* Whee! Actually deliver the signal. */ if (handle_signal(signr, &ka, &info, oldset, regs) == 0) { /* a signal was successfully delivered; the saved * sigmask will have been stored in the signal frame, * and will be restored by sigreturn, so we can simply * clear the TIF_RESTORE_SIGMASK flag */ if (test_thread_flag(TIF_RESTORE_SIGMASK)) clear_thread_flag(TIF_RESTORE_SIGMASK); + regs->tra = -1; /* disable syscall checks */ } } no_signal: /* Did we come from a system call? */ if (regs->tra >= 0) { /* Restart the system call - no handlers present */ if (regs->regs[0] == -ERESTARTNOHAND || -a part of spawn's disassembled list---------------------------------- wake_me: 004007e0 d005 MOV.L @(H'14,PC),R0 ; 0x4007f8;*__sysv_signal@@GLIB C_2.2 004007e2 2f86 MOV.L R8,@-R15 004007e4 6843 MOV R4,R8 004007e6 4f22 STS.L PR,@-R15 004007e8 400b JSR @R0 004007ea e40e MOV #H'E,R4 004007ec 4f26 LDS.L @R15+,PR 004007ee d103 MOV.L @(H'C,PC),R1 ; 0x4007fc;*alarm@@GLIBC_2.2 004007f0 6483 MOV R8,R4 004007f2 412b JMP @R1 004007f4 68f6 MOV.L @R15+,R8 004007f6 0009 NOP 004007f8 057c MOV.B @(R0,R7),R5 ; __sysv_signal@@GLIBC_2.2 004007fa 0040 .data.w h'0040 004007fc 0608 .data.w h'0608 ; alarm@@GLIBC_2.2 004007fe 0040 .data.w h'0040 report: 00400800 4f22 STS.L PR,@-R15 00400802 d105 MOV.L @(H'14,PC),R1 ; 0x400818;*_edata 00400804 d005 MOV.L @(H'14,PC),R0 ; 0x40081c;*fprintf@@GLIBC_2.2 |
From: Paul M. <le...@li...> - 2007-02-28 09:37:59
|
On Tue, Feb 27, 2007 at 11:27:04AM +0900, Hideo Saito wrote: > On Mon, 26 Feb 2007 18:38:46 +0900, Paul Mundt wrote: > > Yes, I think this is the right fix. Can you please provide a > > Signed-off-by tag? > > I post the patch again with 'Signed-off-by tag'. > Applied, thanks. |
From: Hideo S. <sa...@de...> - 2007-02-27 02:27:24
|
On Mon, 26 Feb 2007 18:38:46 +0900, Paul Mundt wrote: > Yes, I think this is the right fix. Can you please provide a > Signed-off-by tag? I post the patch again with 'Signed-off-by tag'. --- This patch secures a room for the pt_regs structure on the kernel thread's stack top. Signed-off-by: Hideo Saito <saito@de...> diff -pU8 -Naur arch/sh/kernel/process.c.org arch/sh/kernel/process.c --- arch/sh/kernel/process.c.org Mon Feb 5 03:44:54 2007 +++ arch/sh/kernel/process.c Tue Feb 27 10:37:37 2007 @@ -258,20 +258,20 @@ int copy_thread(int nr, unsigned long cl childregs = task_pt_regs(p); *childregs = *regs; if (user_mode(regs)) { childregs->regs[15] = usp; ti->addr_limit = USER_DS; } else { - childregs->regs[15] = (unsigned long)task_stack_page(p) + THREAD_SIZE; + childregs->regs[15] = (unsigned long) childregs; ti->addr_limit = KERNEL_DS; } - if (clone_flags & CLONE_SETTLS) { + if (clone_flags & CLONE_SETTLS) { childregs->gbr = childregs->regs[0]; } childregs->regs[0] = 0; /* Set return value for child */ p->thread.sp = (unsigned long) childregs; p->thread.pc = (unsigned long) ret_from_fork; p->thread.ubc_pc = 0; |
From: Paul M. <le...@li...> - 2007-02-26 10:01:33
|
On Mon, Feb 26, 2007 at 10:39:11AM +0100, Manuel Lauss wrote: > On Mon, Feb 26, 2007 at 12:24:15PM +0900, Paul Mundt wrote: > > On Wed, Feb 21, 2007 at 01:38:56PM +0100, Manuel Lauss wrote: > > > Reverting "lazy dcache writeback optimizations" fixes both issues on > > > my SH7760. > > > > > Can you try to run Saito-san's test case and see if it ends up breaking > > for you as well? And if so, whether it works for you after reverting the > > changes? > > With and without the patch reverted, the program does not report any > failures (I let it run 15 minutes both times). > Figures. I suppose this too will need to be reverted then until it's had more testing on the older parts.. I'll queue up a reversion patch and push it out with some other updates, so at least -rc2 should work for you. |
From: Paul M. <le...@li...> - 2007-02-26 09:41:15
|
On Mon, Feb 26, 2007 at 05:43:05PM +0900, Hideo Saito wrote: > When I run a preemptive kernel-2.6.20 for SH7780, a created > kthread(pdflush) can not exit by do_exit() in kernel_thread_helper. I > think that the created kthread should have a room for 'struct pt_regs' > space on the stack top, because __switch_to() will refer to the space > as follows using 'regs = task_pt_regs(prev)' and next condition may be > true. > Yes, I think this is the right fix. Can you please provide a Signed-off-by tag? |
From: Manuel L. <ma...@ro...> - 2007-02-26 09:39:20
|
Hi Paul, On Mon, Feb 26, 2007 at 12:24:15PM +0900, Paul Mundt wrote: > On Wed, Feb 21, 2007 at 01:38:56PM +0100, Manuel Lauss wrote: > > Reverting "lazy dcache writeback optimizations" fixes both issues on > > my SH7760. > > > Can you try to run Saito-san's test case and see if it ends up breaking > for you as well? And if so, whether it works for you after reverting the > changes? With and without the patch reverted, the program does not report any failures (I let it run 15 minutes both times). Thanks! -- ml. |
From: Hideo S. <sa...@de...> - 2007-02-26 08:43:24
|
Hi Paul, When I run a preemptive kernel-2.6.20 for SH7780, a created kthread(pdflush) can not exit by do_exit() in kernel_thread_helper. I think that the created kthread should have a room for 'struct pt_regs' space on the stack top, because __switch_to() will refer to the space as follows using 'regs = task_pt_regs(prev)' and next condition may be true. struct task_struct *__switch_to(struct task_struct *prev, struct task_struct *next) { #if defined(CONFIG_SH_FPU) unlazy_fpu(prev, task_pt_regs(prev)); #endif #ifdef CONFIG_PREEMPT { unsigned long flags; struct pt_regs *regs; local_irq_save(flags); regs = task_pt_regs(prev); if (user_mode(regs) && regs->regs[15] >= 0xc0000000) { int offset = (int)regs->regs[15]; /* Reset stack pointer: clear critical region mark */ regs->regs[15] = regs->regs[1]; if (regs->pc < regs->regs[0]) /* Go to rewind point */ regs->pc = regs->regs[0] + offset; } I think that the following patch can avoid this problem. --- arch/sh/kernel/process.c2 Mon Feb 5 18:52:29 2007 +++ arch/sh/kernel/process.c Mon Feb 26 12:35:17 2007 @@ -270,20 +270,20 @@ int copy_thread(int nr, unsigned long cl childregs = task_pt_regs(p); *childregs = *regs; if (user_mode(regs)) { childregs->regs[15] = usp; ti->addr_limit = USER_DS; } else { - childregs->regs[15] = (unsigned long)task_stack_page(p) + THREAD_SIZE; + childregs->regs[15] = (unsigned long)childregs; ti->addr_limit = KERNEL_DS; } - if (clone_flags & CLONE_SETTLS) { + if (clone_flags & CLONE_SETTLS) { childregs->gbr = childregs->regs[0]; } childregs->regs[0] = 0; /* Set return value for child */ p->thread.sp = (unsigned long) childregs; p->thread.pc = (unsigned long) ret_from_fork; p->thread.ubc_pc = 0; |
From: Paul M. <le...@li...> - 2007-02-26 03:26:45
|
Hi Manuel, On Wed, Feb 21, 2007 at 01:38:56PM +0100, Manuel Lauss wrote: > Reverting "lazy dcache writeback optimizations" fixes both issues on > my SH7760. > Can you try to run Saito-san's test case and see if it ends up breaking for you as well? And if so, whether it works for you after reverting the changes? |
From: Nobuhiro I. <he...@t-...> - 2007-02-24 12:36:32
|
Hi , Paul . On Tue, 20 Feb 2007 09:50:58 +0900 Paul Mundt <le...@li...> wrote: > > Iwamatsu-san, are you able to add shmin in to your build scripts? It > would be good to get at least one SH-3 (and an SH-2) in to the nightly > builds. OK , I will add shmin(SH3-machine) to nightly build . I think that after the matter of SH2 prepares the compiler of SH2. regards, Nobuhiro -- Nobuhiro Iwamatsu E-Mail : he...@t-... GPG ID : 3170EBE9 |
From: Kristoffer E. <kri...@ho...> - 2007-02-23 11:04:41
|
My boot problems still eludes me, my knowledge of how the offchip IRQ's are handled are not good enough currently. It doesnt seem to detect the hd64461 CF card and thus is unable to boot from it. Concerning keyboard: I would be very much interested in that, so I can get a good idea what is needed. Best wishes Kristoffer >From: Paul Mundt <le...@li...> >To: Kristoffer Ericson <kri...@ho...> >CC: lin...@li... >Subject: Re: Patches for HP6xx platform >Date: Fri, 23 Feb 2007 18:45:38 +0900 > >On Wed, Feb 21, 2007 at 05:25:45PM +0000, Kristoffer Ericson wrote: > > Btw, usually I use git diff to create patches (this time I used diff). >Im > > guessing that git diff is preferred when sending you patches then? > > >Yes, git diff will do fine if you've got a working tree. If you've >already checked things in locally then you can simply use something like >'git format-patch --pretty=email <hash>'. > >On Wed, Feb 21, 2007 at 11:18:22PM +0000, Kristoffer Ericson wrote: > > Paul, any idea when the keyboard for hp6xx will be pushed into git? > > >There are some outstanding issues with it, I prepared a patch for Dmitry >but it still requires some attention. Someone with a vested interest in >hp6xx will have to take it the rest of the way, I can provide the patch >and comment mail off-list to whoever is interested. _________________________________________________________________ Don't just search. Find. Check out the new MSN Search! http://search.msn.click-url.com/go/onm00200636ave/direct/01/ |
From: Paul M. <le...@li...> - 2007-02-23 09:48:00
|
On Wed, Feb 21, 2007 at 05:25:45PM +0000, Kristoffer Ericson wrote: > Btw, usually I use git diff to create patches (this time I used diff). Im > guessing that git diff is preferred when sending you patches then? > Yes, git diff will do fine if you've got a working tree. If you've already checked things in locally then you can simply use something like 'git format-patch --pretty=email <hash>'. On Wed, Feb 21, 2007 at 11:18:22PM +0000, Kristoffer Ericson wrote: > Paul, any idea when the keyboard for hp6xx will be pushed into git? > There are some outstanding issues with it, I prepared a patch for Dmitry but it still requires some attention. Someone with a vested interest in hp6xx will have to take it the rest of the way, I can provide the patch and comment mail off-list to whoever is interested. |
From: Kristoffer E. <kri...@ho...> - 2007-02-22 22:12:45
|
Greetings, Gotten a few steps closer today, but although it boots it doesnt detect the CF card properly and hence panics on unable to locate root. I've added some lines to the patch, could someone give it a quick glance and see if the values are correct. Best wishes Kristoffer ----------------------------------------------------------------------- +#define IPRx(A,N) .addr=A, .shift=0*N*-1 +#define IPRA(N) IPRx(0xfffffee2UL,N) +#define IPRB(N) IPRx(0xfffffee4UL,N) +#define IPRC(N) IPRx(0xa4000016UL,N) +#define IPRD(N) IPRx(0xa4000018UL,N) +#define IPRE(N) IPRx(0xa400001aUL,N) + +static struct ipr_data sh7709_ipr_map[] = { + [16] = { IPRA(15-12),2 }, /* TMU TUNI0 */ + [17] = { IPRA(11-8), 4 }, /* TMU TUNI1 */ + [22] = { IPRA(3-0), 2 }, /* RTC CUI */ + [23 ... 26] = { IPRB(7-4), 3 }, /* SCI */ + [27] = { IPRB(15-12), 2 }, /* WDT ITI */ + [32] = { IPRC(0),1 }, /* IRQ 0 - xxxxxxx */ + [33] = { IPRC(1),1 }, /* IRQ 1 - xxxxxxx */ + [34] = { IPRC(2),1 }, /* IRQ 2 - HP6xx APM */ + [35] = { IPRC(3),1 }, /* IRQ 3 - HP6xx TouchScreen */ + [36] = { IPRD(0),1 }, /* IRQ 4 - HD64461 */ + [37] = { IPRD(1),1 }, /* IRQ 5 - xxxxxx */ + [48 ... 51] = { IPRE(15-12), 7}, /* DMA */ + [52 ... 55] = { IPRE(11-8), 3 }, /* IRDA */ + [56 ... 59] = { IPRE(7-4), 3 }, /* SCIF */ +}; + + +void __init init_IRQ_ipr() +{ + make_ipr_irq(sh7709_ipr_map, ARRAY_SIZE(sh7709_ipr_map)); +} + _________________________________________________________________ Express yourself instantly with MSN Messenger! Download today it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/ |
From: Kristoffer E. <kri...@ho...> - 2007-02-21 23:18:33
|
Greetings, Paul, any idea when the keyboard for hp6xx will be pushed into git? Best wishes Kristoffer Ericson _________________________________________________________________ Express yourself instantly with MSN Messenger! Download today it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/ |
From: Kristoffer E. <kri...@ho...> - 2007-02-21 23:13:36
|
Greetings, Applied this patch (http://thread.gmane.org/gmane.linux.ports.sh.devel/1961/focus=1962) which was alot more elegant solution than mine. Kernel compiles now. Best wishes Kristoffer Ericson _________________________________________________________________ FREE pop-up blocking with the new MSN Toolbar - get it now! http://toolbar.msn.click-url.com/go/onm00200415ave/direct/01/ |
From: Kristoffer E. <kri...@ho...> - 2007-02-21 22:45:42
|
Greetings, Made use of our new jlime bugtracker (http://jlime.com/bugtracker/main_page.php) to try and sort out the current issues with the 2.6.20 kernel. Just for future reference, here is a almost complete list of what needs doing. Im still having issues with the ": undefined reference to `make_ipr_irq'" that occurs just before finishing the compile. Paul, do I need to create a proper ipr_map? And I will send in a minor patch to fix the get_clk changes. Best wishes Kristoffer Ericson www.jlime.com --- linux-2.6.20-vanilla/arch/sh/kernel/cpu/irq/pint.c 2007-02-04 18:44:54.000000000 +0000 +++ linux-2.6.20/arch/sh/kernel/cpu/irq/pint.c 2007-02-21 21:12:38.000000000 +0000 @@ -18,6 +18,38 @@ #include <asm/io.h> #include <asm/machvec.h> +#define INTC_IRR0 0xa4000004UL +#define INTC_IRR1 0xa4000006UL +#define INTC_IRR2 0xa4000008UL +#define INTC_IPRA 0xfffffee2UL +#define INTC_IPRB 0xfffffee4UL + +#define INTC_ICR0 0xfffffee0UL +#define INTC_ICR1 0xa4000010UL +#define INTC_ICR2 0xa4000012UL + +#define INTC_IPRD 0xa4000018UL +#define INTC_INTER 0xa4000014UL + +#define PORT_PACR 0xa4000100UL +#define PORT_PBCR 0xa4000102UL +#define PORT_PCCR 0xa4000104UL +#define PORT_PFCR 0xa400010aUL +#define PORT_PADR 0xa4000120UL +#define PORT_PBDR 0xa4000122UL +#define PORT_PCDR 0xa4000124UL +#define PORT_PFDR 0xa400012aUL + +#define PINT0_IRQ 40 +#define PINT8_IRQ 41 +#define PINT0_IPR_ADDR INTC_IPRD +#define PINT8_IPR_ADDR INTC_IPRD + +#define PINT0_IPR_POS 3 +#define PINT8_IPR_POS 2 +#define PINT0_PRIORITY 2 +#define PINT8_PRIORITY 2 + static unsigned char pint_map[256]; static unsigned long portcr_mask; --- linux-2.6.20-vanilla/arch/sh/boards/hp6xx/hp6xx_apm.c 2007-02-04 18:44:54.000000000 +0000 +++ linux-2.6.20/arch/sh/boards/hp6xx/hp6xx_apm.c 2007-02-21 21:22:57.000000000 +0000 @@ -25,6 +25,8 @@ #define HP680_BATTERY_MIN 600 #define HP680_BATTERY_AC_ON 900 +#define IRQ0_IRQ 32 + #define MODNAME "hp6x0_apm" static int hp6x0_apm_get_info(char *buf, char **start, off_t fpos, int length) --- linux-2.6.20-vanilla/arch/sh/cchips/hd6446x/hd64461/setup.c 2007-02-04 18:44:54.000000000 +0000 +++ linux-2.6.20/arch/sh/cchips/hd6446x/hd64461/setup.c 2007-02-21 21:29:16.000000000 +0000 @@ -15,6 +15,8 @@ #include <asm/irq.h> #include <asm/hd64461.h> +#define INTC_ICR1 0xa4000010UL + static void disable_hd64461_irq(unsigned int irq) { unsigned short nimr; --- linux-2.6.20-vanilla/drivers/input/touchscreen/hp680_ts_input.c 2007-02-04 18:44:54.000000000 +0000 +++ linux-2.6.20/drivers/input/touchscreen/hp680_ts_input.c 2007-02-21 21:38:03.000000000 +0000 @@ -17,11 +17,12 @@ #define PHDR 0xa400012e #define SCPDR 0xa4000136 +#define IRQ3_IRQ 35 static void do_softint(void *data); static struct input_dev *hp680_ts_dev; -static DECLARE_WORK(work, do_softint, 0); +static DECLARE_WORK(work, do_softint); static void do_softint(void *data) { --- linux-2.6.20-vanilla/sound/oss/sh_dac_audio.c 2007-02-04 18:44:54.000000000 +0000 +++ linux-2.6.20/sound/oss/sh_dac_audio.c 2007-02-21 21:49:37.000000000 +0000 @@ -31,6 +31,8 @@ #define MODNAME "sh_dac_audio" +#define TIMER1_IRQ 16 + #define TMU_TOCR_INIT 0x00 #define TMU1_TCR_INIT 0x0020 /* Clock/4, rising edge; interrupt on */ @@ -104,7 +106,7 @@ unsigned long interval; struct clk *clk; - clk = clk_get("module_clk"); + clk = clk_get(NULL, "module_clk"); interval = (clk_get_rate(clk) / 4) / rate; clk_put(clk); ctrl_outl(interval, TMU1_TCOR); --- linux-2.6.20-vanilla/arch/sh/drivers/dma/dma-sh.c 2007-02-04 18:44:54.000000000 +0000 +++ linux-2.6.20/arch/sh/drivers/dma/dma-sh.c 2007-02-21 21:56:32.000000000 +0000 @@ -19,6 +19,15 @@ #include <asm/io.h> #include "dma-sh.h" +#define INTC_IPRE 0xa400001aUL +#define DMTE0_IRQ 48 +#define DMTE1_IRQ 49 +#define DMTE2_IRQ 50 +#define DMTE3_IRQ 51 +#define DMTE4_IRQ 76 +#define DMA_IPR_ADDR INTC_IPRE +#define DMA_IPR_POS 3 +#define DMA_PRIORITY 7 #ifdef CONFIG_CPU_SH4 _________________________________________________________________ Express yourself instantly with MSN Messenger! Download today it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/ |
From: Manuel L. <ma...@ro...> - 2007-02-21 12:39:05
|
Hi Paul, PCMCIA is (again) broken, this time on 2.6.21-rc1. After doing a p3_ioremap() of AREA5/6, accesses to it will hang (a simple CIS dump for example simply hangs on the first readb()). Kernel is not dead (sysrq-t from usb kbd works). X breaks too, btw. It just sits there and consumes 80% CPU. Reverting "lazy dcache writeback optimizations" fixes both issues on my SH7760. Thanks, -- ml. |
From: Hideo S. <sa...@de...> - 2007-02-20 05:43:31
|
On Tue, 20 Feb 2007 10:48:12 +0900, Paul Mundt <le...@li...> wrote: > Please also provide the n_aliases printk() from the boot log. Feb 17 08:31:05 shlinux kernel: [42949372.970000] I-cache : n_ways=4 n_sets=256 way_incr=8192 Feb 17 08:31:05 shlinux kernel: [42949372.970000] I-cache : entry_mask=0x00001fe0 alias_mask=0x00001000 n_aliases=2 Feb 17 08:31:05 shlinux kernel: [42949372.970000] D-cache : n_ways=4 n_sets=256 way_incr=8192 Feb 17 08:31:06 shlinux kernel: [42949372.970000] D-cache : entry_mask=0x00001fe0 alias_mask=0x00001000 n_aliases=2 Feb 17 08:31:06 shlinux kernel: [42949373.190000] Mount-cache hash table entries: 512 Feb 17 08:31:06 shlinux kernel: [42949373.190000] CPU: SH7780 > Can you move your __flush_wback_region() in to the else path in > flush_dcache_page() in arch/sh/mm/cache-sh4.c and see if the problem > persists? I backed out the change for install_arg_page() at fs/exec.c and applied following patch and tested it using appended test program. I can not see this problem by my test. --- arch/sh/mm/cache-sh4.c.org Mon Feb 5 03:44:54 2007 +++ arch/sh/mm/cache-sh4.c Tue Feb 20 12:59:46 2007 @@ -243,16 +243,21 @@ void flush_dcache_page(struct page *page unsigned long phys = PHYSADDR(page_address(page)); unsigned long addr = CACHE_OC_ADDRESS_ARRAY; int i, n; /* Loop all the D-cache */ n = cpu_data->dcache.n_aliases; for (i = 0; i < n; i++, addr += 4096) flush_cache_4096(addr, phys); + } else { + unsigned long phys = PHYSADDR(page_address(page)); + int size = cpu_data->dcache.n_aliases << PAGE_SHIFT; + + __flush_wback_region((void *)P1SEGADDR(phys), size); } wmb(); } /* TODO: Selective icache invalidation through IC address array.. */ static inline void flush_icache_all(void) { -error log if original code--------------------------- % ./vfork_test ******29 != 30 *stat = 0x100 -test programs---------------------------------------- % gcc -o args args.c % gcc -o vfork_test vfork_test.c -args.c----------------------------------------------- #include <stdio.h> #include <stdlib.h> int main(int ac, char **av) { int n = 1; int nn = 0; int err = 0; ac--, av++; while (ac > 0) { nn = atoi(*av); if (nn != n) { fprintf(stderr, "%d != %d\n", nn , n); err++; break; } n++; ac--, av++; } fprintf(stderr, "*"); exit(err); } -vfork_test.c------------------------------------------------- #include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <sys/types.h> #include <sys/wait.h> #define ARGS 1000 char* argv[ARGS]; exec_test(int ac, char** av) { int id, stat; id = vfork(); if (id == 0) { execve("./args", argv, NULL); fprintf(stderr, "can not exec args command\n"); exit(0); } wait(&stat); return stat; } int main(int ac, char** av) { int i, stat; char* str; str = calloc(ARGS, 12); for (i = 0; i < ARGS; i++) { sprintf(str, "%010d", i); argv[i] = str; str += strlen(str) + 1; } for (;;) { stat = exec_test(ARGS, argv); if (WEXITSTATUS(stat) != 0) { printf("stat = 0x%x\n", stat); exit(1); } } } |
From: Paul M. <le...@li...> - 2007-02-20 02:01:00
|
On Tue, Feb 20, 2007 at 01:45:57AM +0000, Kristoffer Ericson wrote: > Finally got around to do some test builds. Didnt get very far. I've been > tracking down the changes and got a first set of patches. > A minor nit. When submitting patches to the list, can you please use text/plain instead of text/x-patch or something equally fancy? Some mailers are rather fond of the latter, but replying to the patches inline requires manual mangling of the mime type, and while I do have a macro for this, I rather wish I didn't. > Touchscreen patch fixes the change DECLARE_WORK(1,2,3) -> > DECLARE_WORK(1.2) that has taken place. > This looks fine. Please send a Signed-off-by tag for these. > Pint.c requires some variables to work properly. I've taken those from the > old irq.h file. Im not sure if those are bound to the hp6xx platform and if > so where they should go. > These should probably move in to the hp6xx-specific parts and be handed off, but I'm currently overhauling some of how we do that, so you may want to hold off on some of that and just use this patch locally until then. > +#define INTC_IPRD 0xffd0010UL > +#define INTC_ICR2 0xa4000012UL > +#define PORT_PCCR 0xA4050104UL > +#define PORT_PCDR 0xA4050106UL > +#define PORT_PFDR 0xa400012aUL > +#define PORT_PFCR 0xa405010AUL > + IPRD is completely bogus. Copy and paste error, or was this always wrong? |
From: Paul M. <le...@li...> - 2007-02-20 01:50:35
|
Saito-san, On Tue, Feb 20, 2007 at 10:03:15AM +0900, Hideo Saito wrote: > This problem is caused when a process is executed after vfork. In the > result, the executed process can not read the arguments correctly. > > I think that the copied arguments from parent process should be copied > back to the physical memory as following patch, in other words, a > mapped page to process should be copied back to the physical memory > unconditionally. > This is quite interesting. These are anonymous pages, so page->mapping will be NULL unless you've got a swap cache page. The writeback should not be deferred in this case. Can you move your __flush_wback_region() in to the else path in flush_dcache_page() in arch/sh/mm/cache-sh4.c and see if the problem persists? Please also provide the n_aliases printk() from the boot log. |
From: Kristoffer E. <kri...@ho...> - 2007-02-20 01:46:21
|
Greetings, Finally got around to do some test builds. Didnt get very far. I've been tracking down the changes and got a first set of patches. Paul, please give me some input on where to put the vars (if my location is correct). Touchscreen patch fixes the change DECLARE_WORK(1,2,3) -> DECLARE_WORK(1.2) that has taken place. Pint.c requires some variables to work properly. I've taken those from the old irq.h file. Im not sure if those are bound to the hp6xx platform and if so where they should go. All patches are against latest git Best wishes Kristoffer Ericson _________________________________________________________________ Express yourself instantly with MSN Messenger! Download today it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/ |