* Re: [PATCH] powerpc: make U4 PCIe work
From: Nathan Lynch @ 2006-10-05 22:52 UTC (permalink / raw)
To: Benjamin Herrenschmidt; +Cc: linuxppc-dev list, Paul Mackerras
In-Reply-To: <1160087213.22232.76.camel@localhost.localdomain>
Benjamin Herrenschmidt wrote:
>
> At this point, the patch should go in as it is.
At the very least, please fix those macros; I already pointed out the
bug to you.
^ permalink raw reply
* Re: [PATCH] powerpc: make U4 PCIe work
From: Benjamin Herrenschmidt @ 2006-10-05 23:37 UTC (permalink / raw)
To: Nathan Lynch; +Cc: linuxppc-dev list, Paul Mackerras
In-Reply-To: <20061005225258.GP24705@localdomain>
On Thu, 2006-10-05 at 17:52 -0500, Nathan Lynch wrote:
> Benjamin Herrenschmidt wrote:
> >
> > At this point, the patch should go in as it is.
>
> At the very least, please fix those macros; I already pointed out the
> bug to you.
Ah yes, missed that bit of your mail. Interesting.
Ben.
^ permalink raw reply
* [PATCH] powerpc: irq change build breaks
From: Olof Johansson @ 2006-10-06 1:31 UTC (permalink / raw)
To: Linus Torvalds
Cc: Andrew Morton, linux-arch, arnd, linux-kernel, linuxppc-dev,
paulus
In-Reply-To: <Pine.LNX.4.64.0610051632250.3952@g5.osdl.org>
Fix up some of the buildbreaks from the irq handler changes.
Signed-off-by: Olof Johansson <olof@lixom.net>
---
On Thu, 5 Oct 2006 16:35:02 -0700 (PDT) Linus Torvalds <torvalds@osdl.org> wrote:
> Any fall-out from this should be both obvious and pretty trivial to fix
> up.
>
Here's a pass of fixes from building all defconfigs under arch/powerpc
+ grep of generic_handle_irq callers.
arch/powerpc/platforms/85xx/mpc85xx_ads.c | 2 +-
arch/powerpc/platforms/85xx/mpc85xx_cds.c | 2 +-
arch/powerpc/platforms/86xx/mpc86xx_hpcn.c | 2 +-
arch/powerpc/platforms/cell/interrupt.c | 2 +-
arch/powerpc/platforms/chrp/setup.c | 2 +-
arch/powerpc/platforms/powermac/pic.c | 2 +-
arch/powerpc/sysdev/qe_lib/qe_ic.c | 4 ++--
arch/powerpc/sysdev/tsi108_pci.c | 2 +-
drivers/macintosh/via-cuda.c | 2 +-
sound/oss/dmasound/dmasound_awacs.c | 4 ++--
10 files changed, 12 insertions(+), 12 deletions(-)
Index: linux-2.6/arch/powerpc/platforms/85xx/mpc85xx_ads.c
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/85xx/mpc85xx_ads.c
+++ linux-2.6/arch/powerpc/platforms/85xx/mpc85xx_ads.c
@@ -72,7 +72,7 @@ static void cpm2_cascade(unsigned int ir
int cascade_irq;
while ((cascade_irq = cpm2_get_irq(regs)) >= 0) {
- generic_handle_irq(cascade_irq, regs);
+ generic_handle_irq(cascade_irq);
}
desc->chip->eoi(irq);
}
Index: linux-2.6/arch/powerpc/platforms/85xx/mpc85xx_cds.c
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/85xx/mpc85xx_cds.c
+++ linux-2.6/arch/powerpc/platforms/85xx/mpc85xx_cds.c
@@ -138,7 +138,7 @@ static void mpc85xx_8259_cascade(unsigne
unsigned int cascade_irq = i8259_irq(regs);
if (cascade_irq != NO_IRQ)
- generic_handle_irq(cascade_irq, regs);
+ generic_handle_irq(cascade_irq);
desc->chip->eoi(irq);
}
Index: linux-2.6/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c
+++ linux-2.6/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c
@@ -58,7 +58,7 @@ static void mpc86xx_8259_cascade(unsigne
{
unsigned int cascade_irq = i8259_irq(regs);
if (cascade_irq != NO_IRQ)
- generic_handle_irq(cascade_irq, regs);
+ generic_handle_irq(cascade_irq);
desc->chip->eoi(irq);
}
#endif /* CONFIG_PCI */
Index: linux-2.6/arch/powerpc/platforms/cell/interrupt.c
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/cell/interrupt.c
+++ linux-2.6/arch/powerpc/platforms/cell/interrupt.c
@@ -121,7 +121,7 @@ static void iic_ioexc_cascade(unsigned i
irq_linear_revmap(iic_host,
base | cascade);
if (cirq != NO_IRQ)
- generic_handle_irq(cirq, regs);
+ generic_handle_irq(cirq);
}
/* post-ack level interrupts */
ack = bits & ~IIC_ISR_EDGE_MASK;
Index: linux-2.6/arch/powerpc/platforms/chrp/setup.c
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/chrp/setup.c
+++ linux-2.6/arch/powerpc/platforms/chrp/setup.c
@@ -340,7 +340,7 @@ static void chrp_8259_cascade(unsigned i
{
unsigned int cascade_irq = i8259_irq(regs);
if (cascade_irq != NO_IRQ)
- generic_handle_irq(cascade_irq, regs);
+ generic_handle_irq(cascade_irq);
desc->chip->eoi(irq);
}
Index: linux-2.6/arch/powerpc/sysdev/qe_lib/qe_ic.c
===================================================================
--- linux-2.6.orig/arch/powerpc/sysdev/qe_lib/qe_ic.c
+++ linux-2.6/arch/powerpc/sysdev/qe_lib/qe_ic.c
@@ -343,7 +343,7 @@ void fastcall qe_ic_cascade_low(unsigned
chip->mask_ack(irq);
if (cascade_irq != NO_IRQ)
- generic_handle_irq(cascade_irq, regs);
+ generic_handle_irq(cascade_irq);
chip->unmask(irq);
}
@@ -359,7 +359,7 @@ void fastcall qe_ic_cascade_high(unsigne
chip->mask_ack(irq);
if (cascade_irq != NO_IRQ)
- generic_handle_irq(cascade_irq, regs);
+ generic_handle_irq(cascade_irq);
chip->unmask(irq);
}
Index: linux-2.6/arch/powerpc/sysdev/tsi108_pci.c
===================================================================
--- linux-2.6.orig/arch/powerpc/sysdev/tsi108_pci.c
+++ linux-2.6/arch/powerpc/sysdev/tsi108_pci.c
@@ -410,6 +410,6 @@ void tsi108_irq_cascade(unsigned int irq
{
unsigned int cascade_irq = get_pci_source();
if (cascade_irq != NO_IRQ)
- generic_handle_irq(cascade_irq, regs);
+ generic_handle_irq(cascade_irq);
desc->chip->eoi(irq);
}
Index: linux-2.6/arch/powerpc/platforms/powermac/pic.c
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/powermac/pic.c
+++ linux-2.6/arch/powerpc/platforms/powermac/pic.c
@@ -227,7 +227,7 @@ static irqreturn_t gatwick_action(int cp
continue;
irq += __ilog2(bits);
spin_unlock_irqrestore(&pmac_pic_lock, flags);
- __do_IRQ(irq, regs);
+ __do_IRQ(irq);
spin_lock_irqsave(&pmac_pic_lock, flags);
rc = IRQ_HANDLED;
}
Index: linux-2.6/drivers/macintosh/via-cuda.c
===================================================================
--- linux-2.6.orig/drivers/macintosh/via-cuda.c
+++ linux-2.6/drivers/macintosh/via-cuda.c
@@ -437,7 +437,7 @@ cuda_poll(void)
* disable_irq(), would that work on m68k ? --BenH
*/
local_irq_save(flags);
- cuda_interrupt(0, NULL, NULL);
+ cuda_interrupt(0, NULL);
local_irq_restore(flags);
}
Index: linux-2.6/sound/oss/dmasound/dmasound_awacs.c
===================================================================
--- linux-2.6.orig/sound/oss/dmasound/dmasound_awacs.c
+++ linux-2.6/sound/oss/dmasound/dmasound_awacs.c
@@ -465,7 +465,7 @@ tas_dmasound_init(void)
val = pmac_call_feature(PMAC_FTR_READ_GPIO, NULL, gpio_headphone_detect, 0);
pmac_call_feature(PMAC_FTR_WRITE_GPIO, NULL, gpio_headphone_detect, val | 0x80);
/* Trigger it */
- headphone_intr(0,NULL,NULL);
+ headphone_intr(0, NULL);
}
}
if (!gpio_headphone_irq) {
@@ -1499,7 +1499,7 @@ static int awacs_sleep_notify(struct pmu
write_audio_gpio(gpio_audio_reset, !gpio_audio_reset_pol);
msleep(150);
tas_leave_sleep(); /* Stub for now */
- headphone_intr(0,NULL,NULL);
+ headphone_intr(0, NULL);
break;
case AWACS_DACA:
msleep(10); /* Check this !!! */
^ permalink raw reply
* Re: [PATCH] linux,tce-size property is 32 bits
From: Jeremy Kerr @ 2006-10-06 2:16 UTC (permalink / raw)
To: linuxppc-dev; +Cc: Nathan Lynch, matthltc, Paul Mackerras
In-Reply-To: <20061005143244.GJ24705@localdomain>
> AFAICT this was introduced by the "Constify & voidify get_property()"
> series which went in post-2.6.18 so no backport for -stable is
> needed. Not sure about RHEL5.
That patch (954a46e2d5aec6f59976ddeb1d232b486e59b54a) did touch the
declaration of sizep, but only changed it from an unsigned long * to an
const unsigned long *.
Looking at the git log, it's been an unsigned long from the beginning
(ie, being moved from arch/ppc64). You may need to check the stable and
RHEL trees explicitly.
Regards,
Jeremy
^ permalink raw reply
* Re: Problem with initrd
From: Yoshio Kashiwagi @ 2006-10-06 1:33 UTC (permalink / raw)
To: Glenn.G.Hart, linuxppc-embedded
In-Reply-To: <OF1D5D325D.8937E77C-ON852571FD.005C0832-852571FD.005CF8D2@ct.wec.com>
Glenn-San,
Are you developing by the custom-made hardware of V4FX12?
If the 16-bit memory controller is used, it may have a problem in the
memory controller.
Can you try the memory controller of http://www.xilinx.com/mpmc2?
I confirmed that the 16-bit memory controller of MPMC2 worked correctly
by Linux. Or I can send the ramdisk image for 2.6.17.3 kernel which I
am using to you.
Yoshio kashiwagi - Nissin Systems
^ permalink raw reply
* [PATCH] powerpc: fix fsl_soc build breaks
From: Olof Johansson @ 2006-10-06 2:16 UTC (permalink / raw)
To: galak, paulus; +Cc: linuxppc-dev, linux-kernel
Hrm, there's no way this ever built at time of merge. There's a missing } and
the wrong type on phy_irq.
Also, another const for get_property().
CC arch/powerpc/sysdev/fsl_soc.o
arch/powerpc/sysdev/fsl_soc.c: In function 'fs_enet_of_init':
arch/powerpc/sysdev/fsl_soc.c:625: error: assignment of read-only variable 'phy_irq'
arch/powerpc/sysdev/fsl_soc.c:625: warning: assignment makes integer from pointer without a cast
arch/powerpc/sysdev/fsl_soc.c:661: warning: assignment discards qualifiers from pointer target type
arch/powerpc/sysdev/fsl_soc.c:684: error: subscripted value is neither array nor pointer
arch/powerpc/sysdev/fsl_soc.c:687: error: subscripted value is neither array nor pointer
arch/powerpc/sysdev/fsl_soc.c:722: warning: ISO C90 forbids mixed declarations and code
arch/powerpc/sysdev/fsl_soc.c:728: error: invalid storage class for function 'cpm_uart_of_init'
arch/powerpc/sysdev/fsl_soc.c:798: error: initializer element is not constant
arch/powerpc/sysdev/fsl_soc.c:798: error: expected declaration or statement at end of input
make[1]: *** [arch/powerpc/sysdev/fsl_soc.o] Error 1
Signed-off-by: Olof Johansson <olof@lixom.net>
---
There are more issues with this file. Whitespace, if () {}; and other
things. I'm just fixing the build breaks.
These were all introduced by patches fed upstream via git trees instead
of list posts, as far as I can tell. Maybe posting patches is a better
idea, more eyes on the code.
Index: linux-2.6/arch/powerpc/sysdev/fsl_soc.c
===================================================================
--- linux-2.6.orig/arch/powerpc/sysdev/fsl_soc.c
+++ linux-2.6/arch/powerpc/sysdev/fsl_soc.c
@@ -567,7 +567,7 @@ static int __init fs_enet_of_init(void)
struct resource r[4];
struct device_node *phy, *mdio;
struct fs_platform_info fs_enet_data;
- const unsigned int *id, *phy_addr, phy_irq;
+ const unsigned int *id, *phy_addr, *phy_irq;
const void *mac_addr;
const phandle *ph;
const char *model;
@@ -641,7 +641,7 @@ static int __init fs_enet_of_init(void)
if (strstr(model, "FCC")) {
int fcc_index = *id - 1;
- unsigned char* mdio_bb_prop;
+ const unsigned char *mdio_bb_prop;
fs_enet_data.dpram_offset = (u32)cpm_dpram_addr(0);
fs_enet_data.rx_ring = 32;
@@ -708,8 +708,9 @@ static int __init fs_enet_of_init(void)
ret = platform_device_add_data(fs_enet_dev, &fs_enet_data,
sizeof(struct
fs_platform_info));
- if (ret)
- goto unreg;
+ if (ret)
+ goto unreg;
+ }
}
return 0;
^ permalink raw reply
* Re: [PATCH] linux,tce-size property is 32 bits
From: Olof Johansson @ 2006-10-06 2:22 UTC (permalink / raw)
To: Jeremy Kerr; +Cc: linuxppc-dev, Nathan Lynch, matthltc, Paul Mackerras
In-Reply-To: <200610061216.32315.jk@ozlabs.org>
On Fri, 6 Oct 2006 12:16:30 +1000 Jeremy Kerr <jk@ozlabs.org> wrote:
>
> > AFAICT this was introduced by the "Constify & voidify get_property()"
> > series which went in post-2.6.18 so no backport for -stable is
> > needed. Not sure about RHEL5.
>
> That patch (954a46e2d5aec6f59976ddeb1d232b486e59b54a) did touch the
> declaration of sizep, but only changed it from an unsigned long * to an
> const unsigned long *.
No it didn't:
file:d67af2c657544ef5b0a6386a9c45a31de2fb4681 -> file:bbf2e34dc3582442a9e65c2a404c4e7ddd31619e
--- a/arch/powerpc/platforms/pseries/iommu.c
+++ b/arch/powerpc/platforms/pseries/iommu.c
@@ -267,13 +267,12 @@ static void iommu_table_setparms(struct
struct iommu_table *tbl)
{
struct device_node *node;
- unsigned long *basep;
- unsigned int *sizep;
+ const unsigned long *basep, *sizep;
-Olof
^ permalink raw reply
* Re: [PATCH] linux,tce-size property is 32 bits
From: Jeremy Kerr @ 2006-10-06 2:27 UTC (permalink / raw)
To: Olof Johansson; +Cc: linuxppc-dev, Nathan Lynch, matthltc, Paul Mackerras
In-Reply-To: <20061005212200.26f648e2@pb15>
> No it didn't:
Wow, looks like I can't read :)
Acked-by: Jeremy Kerr <jk@ozlabs.org>
Jeremy
^ permalink raw reply
* Re: [PATCH] powerpc: fix fsl_soc build breaks
From: Vitaly Bordug @ 2006-10-06 2:35 UTC (permalink / raw)
To: Olof Johansson; +Cc: linuxppc-dev, paulus, linux-kernel
In-Reply-To: <20061005211648.0d550152@pb15>
[-- Attachment #1: Type: text/plain, Size: 1873 bytes --]
On Thu, 5 Oct 2006 21:16:48 -0500
Olof Johansson wrote:
> Hrm, there's no way this ever built at time of merge. There's a
> missing } and the wrong type on phy_irq.
>
> Also, another const for get_property().
>
>
> CC arch/powerpc/sysdev/fsl_soc.o
> arch/powerpc/sysdev/fsl_soc.c: In function 'fs_enet_of_init':
> arch/powerpc/sysdev/fsl_soc.c:625: error: assignment of read-only
> variable 'phy_irq' arch/powerpc/sysdev/fsl_soc.c:625: warning:
> assignment makes integer from pointer without a cast
> arch/powerpc/sysdev/fsl_soc.c:661: warning: assignment discards
> qualifiers from pointer target type
> arch/powerpc/sysdev/fsl_soc.c:684: error: subscripted value is
> neither array nor pointer arch/powerpc/sysdev/fsl_soc.c:687: error:
> subscripted value is neither array nor pointer
> arch/powerpc/sysdev/fsl_soc.c:722: warning: ISO C90 forbids mixed
> declarations and code arch/powerpc/sysdev/fsl_soc.c:728: error:
> invalid storage class for function 'cpm_uart_of_init'
> arch/powerpc/sysdev/fsl_soc.c:798: error: initializer element is not
> constant arch/powerpc/sysdev/fsl_soc.c:798: error: expected
> declaration or statement at end of input make[1]: ***
> [arch/powerpc/sysdev/fsl_soc.o] Error 1
>
>
> Signed-off-by: Olof Johansson <olof@lixom.net>
>
>
> ---
>
> There are more issues with this file. Whitespace, if () {}; and other
> things. I'm just fixing the build breaks.
>
> These were all introduced by patches fed upstream via git trees
> instead of list posts, as far as I can tell. Maybe posting patches is
> a better idea, more eyes on the code.
>
All those were submitted in form of patches prior, and located issues addressed. I must mistype something with git-push,
so it didn't fed in very latest changes. Thanks for pointing it out and sorry for confusion.
--
Sincerely, Vitaly
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply
* Simple script to build all configs
From: Olof Johansson @ 2006-10-06 2:53 UTC (permalink / raw)
To: linuxppc-dev
Jeremy asked for it, so I figured more might have use for it. Simple
script to build all defconfigs for an arch.
I use it with ARCH and CROSS_COMPILE set outside of the script, i.e.
$ ARCH=powerpc ~/bin/buildall
I also pass in TARGET="vmlinux modules" in cases where default targets
don't build (very common on ARCH=ppc).
#!/bin/sh
export CC="ccache gcc"
make mrproper
for config in arch/$ARCH/configs/* ; do
CONFIG=`basename $config`
echo -n $ARCH.$CONFIG: ;
yes "" | make $CONFIG >buildall.log 2>&1
if make $TARGET -j 5 >>buildall.log 2>&1 ; then
mv buildall.log $ARCH.$CONFIG.log.passed
echo " passed"
else
mv buildall.log $ARCH.$CONFIG.log.failed
echo " failed"
fi
done
^ permalink raw reply
* Re: Simple script to build all configs
From: Jeremy Kerr @ 2006-10-06 3:23 UTC (permalink / raw)
To: Olof Johansson, Michael Ellerman; +Cc: linuxppc-dev
In-Reply-To: <20061005215334.46e813fc@pb15>
> Jeremy asked for it, so I figured more might have use for it. Simple
> script to build all defconfigs for an arch.
Looks like I'll have someone to join me at reading school.
Olof - I think it was Michael who was asking about this?
Jeremy
^ permalink raw reply
* Re: Simple script to build all configs
From: Olof Johansson @ 2006-10-06 3:34 UTC (permalink / raw)
To: Jeremy Kerr; +Cc: linuxppc-dev
In-Reply-To: <200610061323.28758.jk@ozlabs.org>
On Fri, 6 Oct 2006 13:23:28 +1000 Jeremy Kerr <jk@ozlabs.org> wrote:
>
> > Jeremy asked for it, so I figured more might have use for it. Simple
> > script to build all defconfigs for an arch.
>
> Looks like I'll have someone to join me at reading school.
>
> Olof - I think it was Michael who was asking about this?
You're so alike it's so hard to tell you apart sometimes. :-)
Yes, I can't read either.
-Olof
^ permalink raw reply
* 440SP External Interrupt IRQ
From: Jeff Stevens @ 2006-10-06 3:49 UTC (permalink / raw)
To: linuxppc-embedded
I am trying to figure out the PCI IRQ mapping on a
440SP processor in linux-2.6.17.9. I have a board
that is based off of the Luan development board, and I
am not sure which IRQ corresponds to each external
IRQ[0:5] pins on the processor. Where can I find this
information?
Thanks,
Jeff Stevens
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
^ permalink raw reply
* [POWERPC] update iseries_defconfig
From: Stephen Rothwell @ 2006-10-06 3:53 UTC (permalink / raw)
To: paulus; +Cc: ppc-dev
This make sure that an iseries_defconfig does not inlude
other platforms.
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
arch/powerpc/configs/iseries_defconfig | 86 ++++++++++++++++++++++++++------
1 files changed, 69 insertions(+), 17 deletions(-)
Iseries_defconfig will not build without this.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
diff --git a/arch/powerpc/configs/iseries_defconfig b/arch/powerpc/configs/iseries_defconfig
index d58f82f..b500550 100644
--- a/arch/powerpc/configs/iseries_defconfig
+++ b/arch/powerpc/configs/iseries_defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.18-rc6
-# Sun Sep 10 10:22:57 2006
+# Linux kernel version: 2.6.19-rc1
+# Fri Oct 6 13:25:04 2006
#
CONFIG_PPC64=y
CONFIG_64BIT=y
@@ -22,6 +22,7 @@ CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_PPC_OF=y
# CONFIG_PPC_UDBG_16550 is not set
# CONFIG_GENERIC_TBSYNC is not set
+CONFIG_AUDIT_ARCH=y
# CONFIG_DEFAULT_UIMAGE is not set
#
@@ -52,10 +53,11 @@ CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
+# CONFIG_IPC_NS is not set
CONFIG_POSIX_MQUEUE=y
# CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_TASKSTATS is not set
-CONFIG_SYSCTL=y
+# CONFIG_UTS_NS is not set
CONFIG_AUDIT=y
CONFIG_AUDITSYSCALL=y
CONFIG_IKCONFIG=y
@@ -64,7 +66,9 @@ # CONFIG_CPUSETS is not set
# CONFIG_RELAY is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SYSCTL=y
# CONFIG_EMBEDDED is not set
+# CONFIG_SYSCTL_SYSCALL is not set
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_ALL is not set
# CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -73,12 +77,12 @@ CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_BASE_FULL=y
-CONFIG_RT_MUTEXES=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SHMEM=y
CONFIG_SLAB=y
CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_RT_MUTEXES=y
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
# CONFIG_SLOB is not set
@@ -97,6 +101,7 @@ CONFIG_STOP_MACHINE=y
#
# Block layer
#
+CONFIG_BLOCK=y
# CONFIG_BLK_DEV_IO_TRACE is not set
#
@@ -115,13 +120,18 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
#
# Platform support
#
-# CONFIG_PPC_MULTIPLATFORM is not set
-CONFIG_PPC_ISERIES=y
+CONFIG_PPC_MULTIPLATFORM=y
# CONFIG_EMBEDDED6xx is not set
# CONFIG_APUS is not set
+# CONFIG_PPC_PSERIES is not set
+CONFIG_PPC_ISERIES=y
+# CONFIG_PPC_PMAC is not set
+# CONFIG_PPC_MAPLE is not set
+# CONFIG_PPC_PASEMI is not set
# CONFIG_PPC_CELL is not set
# CONFIG_PPC_CELL_NATIVE is not set
-# CONFIG_UDBG_RTAS_CONSOLE is not set
+# CONFIG_PPC_IBM_CELL_BLADE is not set
+# CONFIG_U3_DART is not set
# CONFIG_PPC_RTAS is not set
# CONFIG_MMIO_NVRAM is not set
CONFIG_IBMVIO=y
@@ -147,12 +157,15 @@ # CONFIG_BINFMT_MISC is not set
CONFIG_FORCE_MAX_ZONEORDER=13
CONFIG_IOMMU_VMERGE=y
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+# CONFIG_KEXEC is not set
+# CONFIG_CRASH_DUMP is not set
CONFIG_IRQ_ALL_CPUS=y
CONFIG_LPARCFG=y
# CONFIG_NUMA is not set
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_ARCH_POPULATES_NODE_MAP=y
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
# CONFIG_DISCONTIGMEM_MANUAL is not set
@@ -179,6 +192,7 @@ # CONFIG_PPC_INDIRECT_PCI is not set
CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y
# CONFIG_PCIEPORTBUS is not set
+# CONFIG_PCI_MULTITHREAD_PROBE is not set
# CONFIG_PCI_DEBUG is not set
#
@@ -206,6 +220,7 @@ # CONFIG_PACKET_MMAP is not set
CONFIG_UNIX=y
CONFIG_XFRM=y
CONFIG_XFRM_USER=m
+CONFIG_XFRM_SUB_POLICY=y
CONFIG_NET_KEY=m
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
@@ -224,10 +239,12 @@ CONFIG_INET_XFRM_TUNNEL=m
CONFIG_INET_TUNNEL=y
CONFIG_INET_XFRM_MODE_TRANSPORT=y
CONFIG_INET_XFRM_MODE_TUNNEL=y
+CONFIG_INET_XFRM_MODE_BEET=m
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
# CONFIG_TCP_CONG_ADVANCED is not set
-CONFIG_TCP_CONG_BIC=y
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
#
# IP: Virtual Server Configuration
@@ -247,6 +264,7 @@ # CONFIG_NETFILTER_NETLINK is not set
CONFIG_NETFILTER_XTABLES=m
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
+CONFIG_NETFILTER_XT_TARGET_DSCP=m
CONFIG_NETFILTER_XT_TARGET_MARK=m
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
@@ -255,6 +273,7 @@ CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
+CONFIG_NETFILTER_XT_MATCH_DSCP=m
# CONFIG_NETFILTER_XT_MATCH_ESP is not set
CONFIG_NETFILTER_XT_MATCH_HELPER=m
CONFIG_NETFILTER_XT_MATCH_LENGTH=m
@@ -294,7 +313,6 @@ CONFIG_IP_NF_MATCH_IPRANGE=m
CONFIG_IP_NF_MATCH_TOS=m
CONFIG_IP_NF_MATCH_RECENT=m
CONFIG_IP_NF_MATCH_ECN=m
-CONFIG_IP_NF_MATCH_DSCP=m
# CONFIG_IP_NF_MATCH_AH is not set
CONFIG_IP_NF_MATCH_TTL=m
CONFIG_IP_NF_MATCH_OWNER=m
@@ -319,7 +337,6 @@ CONFIG_IP_NF_NAT_AMANDA=m
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_TARGET_TOS=m
CONFIG_IP_NF_TARGET_ECN=m
-CONFIG_IP_NF_TARGET_DSCP=m
CONFIG_IP_NF_TARGET_TTL=m
CONFIG_IP_NF_TARGET_CLUSTERIP=m
CONFIG_IP_NF_RAW=m
@@ -351,7 +368,6 @@ # CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
-# CONFIG_NET_DIVERT is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
@@ -433,6 +449,7 @@ # SCSI device support
#
# CONFIG_RAID_ATTRS is not set
CONFIG_SCSI=y
+CONFIG_SCSI_NETLINK=y
CONFIG_SCSI_PROC_FS=y
#
@@ -454,12 +471,14 @@ CONFIG_SCSI_CONSTANTS=y
# CONFIG_SCSI_LOGGING is not set
#
-# SCSI Transport Attributes
+# SCSI Transports
#
CONFIG_SCSI_SPI_ATTRS=y
CONFIG_SCSI_FC_ATTRS=y
# CONFIG_SCSI_ISCSI_ATTRS is not set
-# CONFIG_SCSI_SAS_ATTRS is not set
+CONFIG_SCSI_SAS_ATTRS=m
+CONFIG_SCSI_SAS_LIBSAS=m
+CONFIG_SCSI_SAS_LIBSAS_DEBUG=y
#
# SCSI low-level drivers
@@ -472,10 +491,11 @@ # CONFIG_SCSI_AACRAID is not set
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_AIC7XXX_OLD is not set
# CONFIG_SCSI_AIC79XX is not set
+# CONFIG_SCSI_AIC94XX is not set
+# CONFIG_SCSI_ARCMSR is not set
# CONFIG_MEGARAID_NEWGEN is not set
# CONFIG_MEGARAID_LEGACY is not set
# CONFIG_MEGARAID_SAS is not set
-# CONFIG_ATA is not set
# CONFIG_SCSI_HPTIOP is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_DMX3191D is not set
@@ -486,16 +506,22 @@ # CONFIG_SCSI_IPS is not set
CONFIG_SCSI_IBMVSCSI=m
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set
+# CONFIG_SCSI_STEX is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
-# CONFIG_SCSI_IPR is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_QLA_FC is not set
+# CONFIG_SCSI_QLA_ISCSI is not set
# CONFIG_SCSI_LPFC is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_DEBUG is not set
#
+# Serial ATA (prod) and Parallel ATA (experimental) drivers
+#
+# CONFIG_ATA is not set
+
+#
# Multi-device support (RAID and LVM)
#
CONFIG_MD=y
@@ -508,6 +534,7 @@ # CONFIG_MD_RAID456 is not set
CONFIG_MD_MULTIPATH=m
CONFIG_MD_FAULTY=m
CONFIG_BLK_DEV_DM=y
+# CONFIG_DM_DEBUG is not set
CONFIG_DM_CRYPT=m
CONFIG_DM_SNAPSHOT=m
CONFIG_DM_MIRROR=m
@@ -573,6 +600,7 @@ # CONFIG_NET_TULIP is not set
# CONFIG_HP100 is not set
CONFIG_NET_PCI=y
CONFIG_PCNET32=y
+CONFIG_PCNET32_NAPI=y
# CONFIG_AMD8111_ETH is not set
# CONFIG_ADAPTEC_STARFIRE is not set
# CONFIG_B44 is not set
@@ -610,6 +638,7 @@ # CONFIG_SK98LIN is not set
# CONFIG_VIA_VELOCITY is not set
# CONFIG_TIGON3 is not set
# CONFIG_BNX2 is not set
+# CONFIG_QLA3XXX is not set
#
# Ethernet (10000 Mbit)
@@ -649,6 +678,7 @@ CONFIG_PPP_BSDCOMP=m
# CONFIG_PPP_MPPE is not set
CONFIG_PPPOE=m
# CONFIG_SLIP is not set
+CONFIG_SLHC=m
# CONFIG_NET_FC is not set
# CONFIG_SHAPER is not set
CONFIG_NETCONSOLE=y
@@ -671,6 +701,7 @@ #
# Input device support
#
CONFIG_INPUT=y
+# CONFIG_INPUT_FF_MEMLESS is not set
#
# Userland interfaces
@@ -774,12 +805,12 @@ # CONFIG_HWMON_VID is not set
#
# Misc devices
#
+# CONFIG_TIFM_CORE is not set
#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set
-CONFIG_VIDEO_V4L2=y
#
# Digital Video Broadcasting Devices
@@ -893,6 +924,9 @@ # CONFIG_XFS_QUOTA is not set
CONFIG_XFS_SECURITY=y
CONFIG_XFS_POSIX_ACL=y
# CONFIG_XFS_RT is not set
+CONFIG_GFS2_FS=m
+CONFIG_GFS2_FS_LOCKING_NOLOCK=m
+CONFIG_GFS2_FS_LOCKING_DLM=m
# CONFIG_OCFS2_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_ROMFS_FS is not set
@@ -929,12 +963,14 @@ # Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
+CONFIG_PROC_SYSCTL=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
# CONFIG_HUGETLBFS is not set
# CONFIG_HUGETLB_PAGE is not set
CONFIG_RAMFS=y
-# CONFIG_CONFIGFS_FS is not set
+CONFIG_CONFIGFS_FS=m
#
# Miscellaneous filesystems
@@ -988,6 +1024,7 @@ # CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
# CONFIG_9P_FS is not set
+CONFIG_GENERIC_ACL=y
#
# Partition Types
@@ -1040,6 +1077,12 @@ # CONFIG_NLS_KOI8_U is not set
# CONFIG_NLS_UTF8 is not set
#
+# Distributed Lock Manager
+#
+CONFIG_DLM=m
+# CONFIG_DLM_DEBUG is not set
+
+#
# iSeries device drivers
#
CONFIG_VIOCONS=y
@@ -1073,6 +1116,7 @@ #
# Kernel hacking
#
# CONFIG_PRINTK_TIME is not set
+CONFIG_ENABLE_MUST_CHECK=y
CONFIG_MAGIC_SYSRQ=y
# CONFIG_UNUSED_SYMBOLS is not set
CONFIG_DEBUG_KERNEL=y
@@ -1091,6 +1135,7 @@ # CONFIG_DEBUG_KOBJECT is not set
# CONFIG_DEBUG_INFO is not set
CONFIG_DEBUG_FS=y
# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_LIST is not set
# CONFIG_FORCED_INLINING is not set
# CONFIG_RCU_TORTURE_TEST is not set
CONFIG_DEBUG_STACKOVERFLOW=y
@@ -1109,6 +1154,10 @@ #
# Cryptographic options
#
CONFIG_CRYPTO=y
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_BLKCIPHER=m
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_MANAGER=m
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_NULL=m
CONFIG_CRYPTO_MD4=m
@@ -1118,9 +1167,12 @@ CONFIG_CRYPTO_SHA256=m
CONFIG_CRYPTO_SHA512=m
CONFIG_CRYPTO_WP512=m
CONFIG_CRYPTO_TGR192=m
+CONFIG_CRYPTO_ECB=m
+CONFIG_CRYPTO_CBC=m
CONFIG_CRYPTO_DES=y
CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_TWOFISH_COMMON=m
CONFIG_CRYPTO_SERPENT=m
CONFIG_CRYPTO_AES=m
CONFIG_CRYPTO_CAST5=m
--
1.4.2.1
^ permalink raw reply related
* [POWERPC] fix viocons for irq breakage
From: Stephen Rothwell @ 2006-10-06 3:54 UTC (permalink / raw)
To: paulus; +Cc: ppc-dev
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
drivers/char/viocons.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
diff --git a/drivers/char/viocons.c b/drivers/char/viocons.c
index a362ee9..6d2e314 100644
--- a/drivers/char/viocons.c
+++ b/drivers/char/viocons.c
@@ -947,7 +947,7 @@ #ifdef CONFIG_MAGIC_SYSRQ
*/
continue;
} else if (vio_sysrq_pressed) {
- handle_sysrq(cevent->data[index], NULL, tty);
+ handle_sysrq(cevent->data[index], tty);
vio_sysrq_pressed = 0;
/*
* continue because we don't want to add
--
1.4.2.1
^ permalink raw reply related
* [POWERPC] fix iseries/smp.c for irq breakage
From: Stephen Rothwell @ 2006-10-06 3:55 UTC (permalink / raw)
To: paulus; +Cc: ppc-dev
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
arch/powerpc/platforms/iseries/irq.c | 7 ++-----
arch/powerpc/platforms/iseries/smp.c | 6 ++++--
arch/powerpc/platforms/iseries/smp.h | 6 ++++++
3 files changed, 12 insertions(+), 7 deletions(-)
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
diff --git a/arch/powerpc/platforms/iseries/irq.c b/arch/powerpc/platforms/iseries/irq.c
index e324468..44c2456 100644
--- a/arch/powerpc/platforms/iseries/irq.c
+++ b/arch/powerpc/platforms/iseries/irq.c
@@ -43,10 +43,7 @@ #include <asm/iseries/it_lp_queue.h>
#include "irq.h"
#include "pci.h"
#include "call_pci.h"
-
-#if defined(CONFIG_SMP)
-extern void iSeries_smp_message_recv(struct pt_regs *);
-#endif
+#include "smp.h"
#ifdef CONFIG_PCI
@@ -315,7 +312,7 @@ unsigned int iSeries_get_irq(struct pt_r
#ifdef CONFIG_SMP
if (get_lppaca()->int_dword.fields.ipi_cnt) {
get_lppaca()->int_dword.fields.ipi_cnt = 0;
- iSeries_smp_message_recv(regs);
+ iSeries_smp_message_recv();
}
#endif /* CONFIG_SMP */
if (hvlpevent_is_pending())
diff --git a/arch/powerpc/platforms/iseries/smp.c b/arch/powerpc/platforms/iseries/smp.c
index 2eb095e..aee5908 100644
--- a/arch/powerpc/platforms/iseries/smp.c
+++ b/arch/powerpc/platforms/iseries/smp.c
@@ -43,9 +43,11 @@ #include <asm/machdep.h>
#include <asm/cputable.h>
#include <asm/system.h>
+#include "smp.h"
+
static unsigned long iSeries_smp_message[NR_CPUS];
-void iSeries_smp_message_recv(struct pt_regs *regs)
+void iSeries_smp_message_recv(void)
{
int cpu = smp_processor_id();
int msg;
@@ -55,7 +57,7 @@ void iSeries_smp_message_recv(struct pt_
for (msg = 0; msg < 4; msg++)
if (test_and_clear_bit(msg, &iSeries_smp_message[cpu]))
- smp_message_recv(msg, regs);
+ smp_message_recv(msg);
}
static inline void smp_iSeries_do_message(int cpu, int msg)
diff --git a/arch/powerpc/platforms/iseries/smp.h b/arch/powerpc/platforms/iseries/smp.h
new file mode 100644
index 0000000..d501f7d
--- /dev/null
+++ b/arch/powerpc/platforms/iseries/smp.h
@@ -0,0 +1,6 @@
+#ifndef _PLATFORMS_ISERIES_SMP_H
+#define _PLATFORMS_ISERIES_SMP_H
+
+extern void iSeries_smp_message_recv(void);
+
+#endif /* _PLATFORMS_ISERIES_SMP_H */
--
1.4.2.1
^ permalink raw reply related
* Re: [PATCH] powerpc: irq change build breaks
From: Benjamin Herrenschmidt @ 2006-10-06 4:22 UTC (permalink / raw)
To: Olof Johansson
Cc: Andrew Morton, linux-arch, arnd, linux-kernel, linuxppc-dev,
Linus Torvalds, paulus
In-Reply-To: <20061005203110.4c3022ce@localhost.localdomain>
On Thu, 2006-10-05 at 20:31 -0500, Olof Johansson wrote:
> Fix up some of the buildbreaks from the irq handler changes.
>
>
> Signed-off-by: Olof Johansson <olof@lixom.net>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
> ---
>
> On Thu, 5 Oct 2006 16:35:02 -0700 (PDT) Linus Torvalds <torvalds@osdl.org> wrote:
>
>
> > Any fall-out from this should be both obvious and pretty trivial to fix
> > up.
> >
>
> Here's a pass of fixes from building all defconfigs under arch/powerpc
> + grep of generic_handle_irq callers.
>
>
>
> arch/powerpc/platforms/85xx/mpc85xx_ads.c | 2 +-
> arch/powerpc/platforms/85xx/mpc85xx_cds.c | 2 +-
> arch/powerpc/platforms/86xx/mpc86xx_hpcn.c | 2 +-
> arch/powerpc/platforms/cell/interrupt.c | 2 +-
> arch/powerpc/platforms/chrp/setup.c | 2 +-
> arch/powerpc/platforms/powermac/pic.c | 2 +-
> arch/powerpc/sysdev/qe_lib/qe_ic.c | 4 ++--
> arch/powerpc/sysdev/tsi108_pci.c | 2 +-
> drivers/macintosh/via-cuda.c | 2 +-
> sound/oss/dmasound/dmasound_awacs.c | 4 ++--
> 10 files changed, 12 insertions(+), 12 deletions(-)
>
>
>
> Index: linux-2.6/arch/powerpc/platforms/85xx/mpc85xx_ads.c
> ===================================================================
> --- linux-2.6.orig/arch/powerpc/platforms/85xx/mpc85xx_ads.c
> +++ linux-2.6/arch/powerpc/platforms/85xx/mpc85xx_ads.c
> @@ -72,7 +72,7 @@ static void cpm2_cascade(unsigned int ir
> int cascade_irq;
>
> while ((cascade_irq = cpm2_get_irq(regs)) >= 0) {
> - generic_handle_irq(cascade_irq, regs);
> + generic_handle_irq(cascade_irq);
> }
> desc->chip->eoi(irq);
> }
> Index: linux-2.6/arch/powerpc/platforms/85xx/mpc85xx_cds.c
> ===================================================================
> --- linux-2.6.orig/arch/powerpc/platforms/85xx/mpc85xx_cds.c
> +++ linux-2.6/arch/powerpc/platforms/85xx/mpc85xx_cds.c
> @@ -138,7 +138,7 @@ static void mpc85xx_8259_cascade(unsigne
> unsigned int cascade_irq = i8259_irq(regs);
>
> if (cascade_irq != NO_IRQ)
> - generic_handle_irq(cascade_irq, regs);
> + generic_handle_irq(cascade_irq);
>
> desc->chip->eoi(irq);
> }
> Index: linux-2.6/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c
> ===================================================================
> --- linux-2.6.orig/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c
> +++ linux-2.6/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c
> @@ -58,7 +58,7 @@ static void mpc86xx_8259_cascade(unsigne
> {
> unsigned int cascade_irq = i8259_irq(regs);
> if (cascade_irq != NO_IRQ)
> - generic_handle_irq(cascade_irq, regs);
> + generic_handle_irq(cascade_irq);
> desc->chip->eoi(irq);
> }
> #endif /* CONFIG_PCI */
> Index: linux-2.6/arch/powerpc/platforms/cell/interrupt.c
> ===================================================================
> --- linux-2.6.orig/arch/powerpc/platforms/cell/interrupt.c
> +++ linux-2.6/arch/powerpc/platforms/cell/interrupt.c
> @@ -121,7 +121,7 @@ static void iic_ioexc_cascade(unsigned i
> irq_linear_revmap(iic_host,
> base | cascade);
> if (cirq != NO_IRQ)
> - generic_handle_irq(cirq, regs);
> + generic_handle_irq(cirq);
> }
> /* post-ack level interrupts */
> ack = bits & ~IIC_ISR_EDGE_MASK;
> Index: linux-2.6/arch/powerpc/platforms/chrp/setup.c
> ===================================================================
> --- linux-2.6.orig/arch/powerpc/platforms/chrp/setup.c
> +++ linux-2.6/arch/powerpc/platforms/chrp/setup.c
> @@ -340,7 +340,7 @@ static void chrp_8259_cascade(unsigned i
> {
> unsigned int cascade_irq = i8259_irq(regs);
> if (cascade_irq != NO_IRQ)
> - generic_handle_irq(cascade_irq, regs);
> + generic_handle_irq(cascade_irq);
> desc->chip->eoi(irq);
> }
>
> Index: linux-2.6/arch/powerpc/sysdev/qe_lib/qe_ic.c
> ===================================================================
> --- linux-2.6.orig/arch/powerpc/sysdev/qe_lib/qe_ic.c
> +++ linux-2.6/arch/powerpc/sysdev/qe_lib/qe_ic.c
> @@ -343,7 +343,7 @@ void fastcall qe_ic_cascade_low(unsigned
>
> chip->mask_ack(irq);
> if (cascade_irq != NO_IRQ)
> - generic_handle_irq(cascade_irq, regs);
> + generic_handle_irq(cascade_irq);
> chip->unmask(irq);
> }
>
> @@ -359,7 +359,7 @@ void fastcall qe_ic_cascade_high(unsigne
>
> chip->mask_ack(irq);
> if (cascade_irq != NO_IRQ)
> - generic_handle_irq(cascade_irq, regs);
> + generic_handle_irq(cascade_irq);
> chip->unmask(irq);
> }
>
> Index: linux-2.6/arch/powerpc/sysdev/tsi108_pci.c
> ===================================================================
> --- linux-2.6.orig/arch/powerpc/sysdev/tsi108_pci.c
> +++ linux-2.6/arch/powerpc/sysdev/tsi108_pci.c
> @@ -410,6 +410,6 @@ void tsi108_irq_cascade(unsigned int irq
> {
> unsigned int cascade_irq = get_pci_source();
> if (cascade_irq != NO_IRQ)
> - generic_handle_irq(cascade_irq, regs);
> + generic_handle_irq(cascade_irq);
> desc->chip->eoi(irq);
> }
> Index: linux-2.6/arch/powerpc/platforms/powermac/pic.c
> ===================================================================
> --- linux-2.6.orig/arch/powerpc/platforms/powermac/pic.c
> +++ linux-2.6/arch/powerpc/platforms/powermac/pic.c
> @@ -227,7 +227,7 @@ static irqreturn_t gatwick_action(int cp
> continue;
> irq += __ilog2(bits);
> spin_unlock_irqrestore(&pmac_pic_lock, flags);
> - __do_IRQ(irq, regs);
> + __do_IRQ(irq);
> spin_lock_irqsave(&pmac_pic_lock, flags);
> rc = IRQ_HANDLED;
> }
> Index: linux-2.6/drivers/macintosh/via-cuda.c
> ===================================================================
> --- linux-2.6.orig/drivers/macintosh/via-cuda.c
> +++ linux-2.6/drivers/macintosh/via-cuda.c
> @@ -437,7 +437,7 @@ cuda_poll(void)
> * disable_irq(), would that work on m68k ? --BenH
> */
> local_irq_save(flags);
> - cuda_interrupt(0, NULL, NULL);
> + cuda_interrupt(0, NULL);
> local_irq_restore(flags);
> }
>
> Index: linux-2.6/sound/oss/dmasound/dmasound_awacs.c
> ===================================================================
> --- linux-2.6.orig/sound/oss/dmasound/dmasound_awacs.c
> +++ linux-2.6/sound/oss/dmasound/dmasound_awacs.c
> @@ -465,7 +465,7 @@ tas_dmasound_init(void)
> val = pmac_call_feature(PMAC_FTR_READ_GPIO, NULL, gpio_headphone_detect, 0);
> pmac_call_feature(PMAC_FTR_WRITE_GPIO, NULL, gpio_headphone_detect, val | 0x80);
> /* Trigger it */
> - headphone_intr(0,NULL,NULL);
> + headphone_intr(0, NULL);
> }
> }
> if (!gpio_headphone_irq) {
> @@ -1499,7 +1499,7 @@ static int awacs_sleep_notify(struct pmu
> write_audio_gpio(gpio_audio_reset, !gpio_audio_reset_pol);
> msleep(150);
> tas_leave_sleep(); /* Stub for now */
> - headphone_intr(0,NULL,NULL);
> + headphone_intr(0, NULL);
> break;
> case AWACS_DACA:
> msleep(10); /* Check this !!! */
> -
> To unsubscribe from this list: send the line "unsubscribe linux-arch" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply
* Re: 440SP External Interrupt IRQ
From: Stefan Roese @ 2006-10-06 4:46 UTC (permalink / raw)
To: linuxppc-embedded
In-Reply-To: <20061006034949.17839.qmail@web33407.mail.mud.yahoo.com>
Jeff,
On Friday 06 October 2006 05:49, Jeff Stevens wrote:
> I am trying to figure out the PCI IRQ mapping on a
> 440SP processor in linux-2.6.17.9. I have a board
> that is based off of the Luan development board, and I
> am not sure which IRQ corresponds to each external
> IRQ[0:5] pins on the processor. Where can I find this
> information?
In your schematics. Sorry but it's that simple.
Best regards,
Stefan
^ permalink raw reply
* [PATCH] powerpc: make U4 PCIe work (#2)
From: Benjamin Herrenschmidt @ 2006-10-06 5:40 UTC (permalink / raw)
To: Paul Mackerras; +Cc: linuxppc-dev list
The Maple support code was missing code for U4/CPC945 PCIe. This adds
it, enabling it to work on tigerwood boards, and possibly also js21
using SLOF. Also disable an obsolete firmware workaround.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Index: linux-work/arch/powerpc/platforms/maple/pci.c
===================================================================
--- linux-work.orig/arch/powerpc/platforms/maple/pci.c 2006-10-05 16:00:29.000000000 +1000
+++ linux-work/arch/powerpc/platforms/maple/pci.c 2006-10-06 15:38:38.000000000 +1000
@@ -8,7 +8,7 @@
* 2 of the License, or (at your option) any later version.
*/
-#define DEBUG
+#undef DEBUG
#include <linux/kernel.h>
#include <linux/pci.h>
@@ -16,6 +16,7 @@
#include <linux/string.h>
#include <linux/init.h>
#include <linux/bootmem.h>
+#include <linux/irq.h>
#include <asm/sections.h>
#include <asm/io.h>
@@ -33,7 +34,7 @@
#define DBG(x...)
#endif
-static struct pci_controller *u3_agp, *u3_ht;
+static struct pci_controller *u3_agp, *u3_ht, *u4_pcie;
static int __init fixup_one_level_bus_range(struct device_node *node, int higher)
{
@@ -287,6 +288,113 @@ static struct pci_ops u3_ht_pci_ops =
u3_ht_write_config
};
+static unsigned int u4_pcie_cfa0(u8 devfn, u8 off)
+{
+ return (1 << ((unsigned int)PCI_SLOT(devfn))) |
+ (((unsigned int)PCI_FUNC(devfn)) << 8) |
+ ((((unsigned int)(off)) >> 8) << 28) |
+ (((unsigned int)(off)) & 0xfcu);
+}
+
+static unsigned int u4_pcie_cfa1(u8 bus, u8 devfn, u8 off)
+{
+ return (((unsigned int)(bus)) << 16) |
+ (((unsigned int)(devfn)) << 8) |
+ ((((unsigned int)(off)) >> 8) << 28) |
+ (((unsigned int)(off)) & 0xfcU)| 1u;
+}
+
+static volatile void __iomem *u4_pcie_cfg_access(struct pci_controller* hose,
+ u8 bus, u8 dev_fn, int offset)
+{
+ unsigned int caddr;
+
+ if (bus == hose->first_busno)
+ caddr = u4_pcie_cfa0(dev_fn, offset);
+ else
+ caddr = u4_pcie_cfa1(bus, dev_fn, offset);
+
+ /* Uninorth will return garbage if we don't read back the value ! */
+ do {
+ out_le32(hose->cfg_addr, caddr);
+ } while (in_le32(hose->cfg_addr) != caddr);
+
+ offset &= 0x03;
+ return hose->cfg_data + offset;
+}
+
+static int u4_pcie_read_config(struct pci_bus *bus, unsigned int devfn,
+ int offset, int len, u32 *val)
+{
+ struct pci_controller *hose;
+ volatile void __iomem *addr;
+
+ hose = pci_bus_to_host(bus);
+ if (hose == NULL)
+ return PCIBIOS_DEVICE_NOT_FOUND;
+ if (offset >= 0x1000)
+ return PCIBIOS_BAD_REGISTER_NUMBER;
+ addr = u4_pcie_cfg_access(hose, bus->number, devfn, offset);
+ if (!addr)
+ return PCIBIOS_DEVICE_NOT_FOUND;
+ /*
+ * Note: the caller has already checked that offset is
+ * suitably aligned and that len is 1, 2 or 4.
+ */
+ switch (len) {
+ case 1:
+ *val = in_8(addr);
+ break;
+ case 2:
+ *val = in_le16(addr);
+ break;
+ default:
+ *val = in_le32(addr);
+ break;
+ }
+ return PCIBIOS_SUCCESSFUL;
+}
+static int u4_pcie_write_config(struct pci_bus *bus, unsigned int devfn,
+ int offset, int len, u32 val)
+{
+ struct pci_controller *hose;
+ void __iomem *addr;
+
+ hose = pci_bus_to_host(bus);
+ if (hose == NULL)
+ return PCIBIOS_DEVICE_NOT_FOUND;
+ if (offset >= 0x1000)
+ return PCIBIOS_BAD_REGISTER_NUMBER;
+ addr = u4_pcie_cfg_access(hose, bus->number, devfn, offset);
+ if (!addr)
+ return PCIBIOS_DEVICE_NOT_FOUND;
+ /*
+ * Note: the caller has already checked that offset is
+ * suitably aligned and that len is 1, 2 or 4.
+ */
+ switch (len) {
+ case 1:
+ out_8(addr, val);
+ (void) in_8(addr);
+ break;
+ case 2:
+ out_le16(addr, val);
+ (void) in_le16(addr);
+ break;
+ default:
+ out_le32(addr, val);
+ (void) in_le32(addr);
+ break;
+ }
+ return PCIBIOS_SUCCESSFUL;
+}
+
+static struct pci_ops u4_pcie_pci_ops =
+{
+ u4_pcie_read_config,
+ u4_pcie_write_config
+};
+
static void __init setup_u3_agp(struct pci_controller* hose)
{
/* On G5, we move AGP up to high bus number so we don't need
@@ -307,6 +415,26 @@ static void __init setup_u3_agp(struct p
u3_agp = hose;
}
+static void __init setup_u4_pcie(struct pci_controller* hose)
+{
+ /* We currently only implement the "non-atomic" config space, to
+ * be optimised later.
+ */
+ hose->ops = &u4_pcie_pci_ops;
+ hose->cfg_addr = ioremap(0xf0000000 + 0x800000, 0x1000);
+ hose->cfg_data = ioremap(0xf0000000 + 0xc00000, 0x1000);
+
+ /* The bus contains a bridge from root -> device, we need to
+ * make it visible on bus 0 so that we pick the right type
+ * of config cycles. If we didn't, we would have to force all
+ * config cycles to be type 1. So we override the "bus-range"
+ * property here
+ */
+ hose->first_busno = 0x00;
+ hose->last_busno = 0xff;
+ u4_pcie = hose;
+}
+
static void __init setup_u3_ht(struct pci_controller* hose)
{
hose->ops = &u3_ht_pci_ops;
@@ -354,6 +482,10 @@ static int __init add_bridge(struct devi
setup_u3_ht(hose);
disp_name = "U3-HT";
primary = 1;
+ } else if (device_is_compatible(dev, "u4-pcie")) {
+ setup_u4_pcie(hose);
+ disp_name = "U4-PCIE";
+ primary = 0;
}
printk(KERN_INFO "Found %s PCI host bridge. Firmware bus number: %d->%d\n",
disp_name, hose->first_busno, hose->last_busno);
@@ -361,7 +493,6 @@ static int __init add_bridge(struct devi
/* Interpret the "ranges" property */
/* This also maps the I/O region and sets isa_io/mem_base */
pci_process_bridge_OF_ranges(hose, dev, primary);
- pci_setup_phb_io(hose, primary);
/* Fixup "bus-range" OF property */
fixup_bus_range(dev);
@@ -376,8 +507,17 @@ void __init maple_pcibios_fixup(void)
DBG(" -> maple_pcibios_fixup\n");
- for_each_pci_dev(dev)
- pci_read_irq_line(dev);
+ for_each_pci_dev(dev) {
+ /* Fixup IRQ for PCIe host */
+ if (u4_pcie != NULL && dev->bus->number == 0 &&
+ pci_bus_to_host(dev->bus) == u4_pcie) {
+ printk(KERN_DEBUG "Fixup U4 PCIe IRQ\n");
+ dev->irq = irq_create_mapping(NULL, 1);
+ if (dev->irq != NO_IRQ)
+ set_irq_type(dev->irq, IRQ_TYPE_LEVEL_LOW);
+ } else
+ pci_read_irq_line(dev);
+ }
DBG(" <- maple_pcibios_fixup\n");
}
@@ -388,8 +528,10 @@ static void __init maple_fixup_phb_resou
list_for_each_entry_safe(hose, tmp, &hose_list, list_node) {
unsigned long offset = (unsigned long)hose->io_base_virt - pci_io_base;
+
hose->io_resource.start += offset;
hose->io_resource.end += offset;
+
printk(KERN_INFO "PCI Host %d, io start: %llx; io end: %llx\n",
hose->global_number,
(unsigned long long)hose->io_resource.start,
@@ -431,6 +573,19 @@ void __init maple_pci_init(void)
if (ht && add_bridge(ht) != 0)
of_node_put(ht);
+ /*
+ * We need to call pci_setup_phb_io for the HT bridge first
+ * so it gets the I/O port numbers starting at 0, and we
+ * need to call it for the AGP bridge after that so it gets
+ * small positive I/O port numbers.
+ */
+ if (u3_ht)
+ pci_setup_phb_io(u3_ht, 1);
+ if (u3_agp)
+ pci_setup_phb_io(u3_agp, 0);
+ if (u4_pcie)
+ pci_setup_phb_io(u4_pcie, 0);
+
/* Fixup the IO resources on our host bridges as the common code
* does it only for childs of the host bridges
*/
@@ -465,8 +620,11 @@ int maple_pci_get_legacy_ide_irq(struct
return defirq;
np = pci_device_to_OF_node(pdev);
- if (np == NULL)
+ if (np == NULL) {
+ printk("Failed to locate OF node for IDE %s\n",
+ pci_name(pdev));
return defirq;
+ }
irq = irq_of_parse_and_map(np, channel & 0x1);
if (irq == NO_IRQ) {
printk("Failed to map onboard IDE interrupt for channel %d\n",
@@ -479,6 +637,9 @@ int maple_pci_get_legacy_ide_irq(struct
/* XXX: To remove once all firmwares are ok */
static void fixup_maple_ide(struct pci_dev* dev)
{
+ if (!machine_is(maple))
+ return;
+
#if 0 /* Enable this to enable IDE port 0 */
{
u8 v;
@@ -495,7 +656,7 @@ static void fixup_maple_ide(struct pci_d
dev->resource[4].start = 0xcc00;
dev->resource[4].end = 0xcc10;
#endif
-#if 1 /* Enable this to fixup IDE sense/polarity of irqs in IO-APICs */
+#if 0 /* Enable this to fixup IDE sense/polarity of irqs in IO-APICs */
{
struct pci_dev *apicdev;
u32 v;
^ permalink raw reply
* Re: booting 2.6 kernel on ML403
From: Pradeep Sampath @ 2006-10-06 6:37 UTC (permalink / raw)
To: Ameet Patil; +Cc: linuxppc-embedded
In-Reply-To: <4524C290.3090702@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 4922 bytes --]
Ameet,
I was able to get the system to work today with your Sysace driver patch and was able to boot the ML403 with the correct 'root=' option. But the kernel crashes with a "Oops: machine check, sig: 7 [#1]". (I have 'nt applied the TEMAC patches yet)
It appears that the xparamater definition file genearted using EDK 8.1 does not map correctly with the driver and it looks like i need to further downgrade the EDK to 7.1 and re-generate the BSP. I am attaching the console logs and xparamater file. please ignore my earlier reply.
thanks
Pradeep
Linux/PPC load: console=ttyS0,9600 root=/dev/xsysace2
Uncompressing Linux...done.
Now booting the kernel
[ 0.000000] Linux version 2.6.17.1 (psampath@psampath-test) (gcc version 3.4.
1) #3 Thu Oct 5 21:00:20 PDT 2006
[ 0.000000] Xilinx ML403 Reference System (Virtex-4 FX)
[ 0.000000] Built 1 zonelists
[ 0.000000] Kernel command line: console=ttyS0,9600 root=/dev/xsysace2
[ 0.000000] Xilinx INTC #0 at 0xD1000FC0 mapped to 0xFDFFEFC0
[ 0.000000] PID hash table entries: 2048 (order: 11, 8192 bytes)
[ 0.000186] Console: colour dummy device 80x25
[ 0.001812] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 0.004864] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[ 0.059900] Memory: 257408k available (1672k kernel code, 584k data, 84k init
, 0k highmem)
[ 0.248261] Security Framework v1.0.0 initialized
[ 0.248329] SELinux: Disabled at boot.
[ 0.248476] Mount-cache hash table entries: 512
[ 0.254185] NET: Registered protocol family 16
[ 0.262854] NET: Registered protocol family 2
[ 0.316504] IP route cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.317597] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
[ 0.318204] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.318515] TCP: Hash tables configured (established 8192 bind 4096)
[ 0.318547] TCP reno registered
[ 0.325066] audit: initializing netlink socket (disabled)
[ 0.325217] audit(0.324:1): initialized
[ 0.326741] VFS: Disk quotas dquot_6.5.1
[ 0.326987] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[ 0.327684] Initializing Cryptographic API
[ 0.327761] io scheduler noop registered
[ 0.327854] io scheduler anticipatory registered (default)
[ 0.327923] io scheduler deadline registered
[ 0.328152] io scheduler cfq registered
[ 0.948467] Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing
enabled
[ 0.957267] serial8250.0: ttyS0 at MMIO 0xa0001003 (irq = 9) is a 16450
[ 3.007825] RAMDISK driver initialized: 16 RAM disks of 65536K size 1024 bloc
ksize
[ 3.097865] Data machine check in kernel mode.
[ 3.150765] Oops: machine check, sig: 7 [#1]
[ 3.201802] NIP: C011E58C LR: C011DD00 CTR: C021D308
[ 3.261169] REGS: c0224f50 TRAP: 0202 Not tainted (2.6.17.1)
[ 3.331981] MSR: 00029030 <EE,ME,IR,DR> CR: 95000053 XER: E000007F
[ 3.408018] TASK = c0489b40[1] 'swapper' THREAD: c04a0000
[ 3.470498] GPR00: 00000001 C04A1D20 C0489B40 D1020000 00000101 000005C7 FDFE
D000 C0484BD8
[ 3.570483] GPR08: C05C0C20 C011E014 00000000 C0206AEC 00000000 3BB7E7AD FFFF
FFFF FFFFFFFF
[ 3.670467] GPR16: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF 00503FFC FFFF
FFFF FFFFFFFF
[ 3.770450] GPR24: FFFFFFFF FFFFFFFF FFFFFFFF 2F646576 00000000 C0220000 0000
0000 C0240C60
[ 3.872519] NIP [C011E58C] XSysAce_RegWrite16+0x8/0x1c
[ 3.933968] LR [C011DD00] XSysAce_Initialize+0x8c/0xe8
[ 3.995416] Call Trace:
[ 4.024581] [C04A1D20] [FFFFFFFF] 0xffffffff (unreliable)
[ 4.089156] [C04A1D40] [C021D358] xsysace_init+0x50/0x330
[ 4.153726] [C04A1F90] [C0002448] init+0xa4/0x27c
[ 4.209968] [C04A1FF0] [C000509C] kernel_thread+0x44/0x60
[ 4.274536] Instruction dump:
[ 4.309949] 5480c63e 98030001 7c0006ac 5480863e 98030002 7c0006ac 5484463e 98
830003
[ 4.402641] 7c0006ac 4e800020 5480063e 98030000 <7c0006ac> 5484c23e 98830001
7c0006ac
[ 4.498278] Kernel panic - not syncing: Attempted to kill init!
[ 4.568293] <0>Rebooting in 180 seconds..
Ameet Patil <ammubhai@gmail.com> wrote:
Pradeep,
What you have pasted is only part of the messages displayed. I can't
tell anything from this apart from you 'root=' option. It would be nice
if you could paste the entire log of the boot messages right from
'loaded at: xxxxxxx xxxxxxxx' to 'Kernel Rebooting in 150 seconds'.
-Ameet
Pradeep Sampath wrote:
> Ameet,
>
> loaded at: 00400000 0051513C
> board data at: 00513124 0051313C
> relocated to: 004050E8 00405100
> zimage at: 004057FD 0051230A
> avail ram: 00516000 04000000
> Linux/PPC load: console=ttyS0,9600 root=/dev/xsa2
> Uncompressing Linux...done.
> Now booting the kernel
>
>
> Please could send me all the boot messages until the point where it
> stops. This will help me better identify the problem.
>
> Thanks,
> -Ameet
>
>
[-- Attachment #2: Type: text/html, Size: 6408 bytes --]
^ permalink raw reply
* Re: booting 2.6 kernel on ML403
From: Ming Liu @ 2006-10-06 8:24 UTC (permalink / raw)
To: pradeepsampath, ammubhai; +Cc: linuxppc-embedded
In-Reply-To: <20061005154700.5018.qmail@web83212.mail.mud.yahoo.com>
Hi Pradeep,
> As soon as i apply the sysace driver and temac drivers and copy the
xparameters_ml300.h (from EDK) to xparameters_ml403.h all i get is this...
meaning kernel hangs after displaying "Now booting the kernel".
I have experienced this before. But in my condition, I applied both ACE and
Temac patches. Ameet said it's a problem of the kernel and the kernel just
lost the configuration information. So just "make proper" and reconfigure
your kernel and recompile it. In my condition, it helps. I don't know if it
is useful to solve your problem. Just try it.
>
> When i disable sysace and TEMAC drivers, the system goes further till
"root=" option and then tries to "Kernel Rebooting in 180 seconds".
Yesterday i tried root=/dev/xsysace2 rw and creating block device files in
/dev of the CF card. But it ran into the same problem.Is there a sysace
driver patch that i can apply without applying the TEMAC driver patch?
Don't try root=/dev/xsysace2. In Ameet's driver, he defined as xsa2. So
just keep consistent with the source code.
Also, in his website, there are patches which are used without Temac. They
are not labeled with -after-temac.
> So far i was using the EDK 8.1 SP2 (latest) which has the IP core TEMAC
version 3.00. Now i downgraded to EDK 8.1 to get the version 2.00 (please
see John Bonesio's post).
I am using TEMAC 1.00. The 3.00 version is totally different with 1.00. So
I don't know if it is one reason about your problem.
Regards
Ming
_________________________________________________________________
享用世界上最大的电子邮件系统― MSN Hotmail。 http://www.hotmail.com
^ permalink raw reply
* Re: booting 2.6 kernel on ML403
From: David H. Lynch Jr. @ 2006-10-06 8:50 UTC (permalink / raw)
To: Ming Liu, linuxppc-embedded
In-Reply-To: <BAY110-F79748D36D754E6D6B2A99B21D0@phx.gbl>
Ming Liu wrote:
> Hello Ameet,
> I am using that driver very well now. There is only one problem. It
> seems that the driver for TEMAC only support Gigabit Enet, not
> 10/100/1000M adapted. But because I want to use the Gigabit enet, I
> don't care that. So it's OK, at lease for 1Gbit/s.
It is fairly easy to mangle the TEMAC driver for any fixed rate you
want. I added a spd value to the device data, set it to whatever I want
in the initcode, and
changed the SetSpeed () call to use the device data value instead of a
constant.
That was a 2 min kludge. At some point it needs real autonegotiation -
which should not be too hard.
--
Dave Lynch DLA Systems
Software Development: Embedded Linux
717.627.3770 dhlii@dlasys.net http://www.dlasys.net
fax: 1.253.369.9244 Cell: 1.717.587.7774
Over 25 years' experience in platforms, languages, and technologies too numerous to list.
"Any intelligent fool can make things bigger and more complex... It takes a touch of genius - and a lot of courage to move in the opposite direction."
Albert Einstein
^ permalink raw reply
* Re: Problem with initrd
From: David H. Lynch Jr. @ 2006-10-06 8:53 UTC (permalink / raw)
To: Glenn.G.Hart; +Cc: linuxppc-embedded
In-Reply-To: <OF1D5D325D.8937E77C-ON852571FD.005C0832-852571FD.005CF8D2@ct.wec.com>
Glenn.G.Hart@us.westinghouse.com wrote:
> I am trying to get Linux running on the PPC of a Xilinx V4-FX12 FPGA. I am
> using the Linux 2.6.17.9 kernel (I have also tried 2.6.17.1 with the same
> results) and have gotten through the kernel initialization to the point
> where it mounts the root file system. At this point I can an Oops and a
> kernel panic. I traced the kernel and found it was happening on the gunzip
> of the ramdisk image. I tried without compressing the ramdisk image and I
> got a slightly different error. I have attached this output as well. I am
> not a kernel expert, but I am guessing it is having trouble accessing the
> RAM for the ramdisk. Can anybody offer some advice?
>
Try 2.6.18 or 2.6.16 . There were compression/decompression problems
in 2.6.17 for the ppc.
These may be your problem.
> Thanks,
> Glenn
>
> With compress ramdisk image:
>
> loaded at: 00400000 0052B13C
> board data at: 00529124 0052913C
> relocated to: 004050F0 00405108
> zimage at: 00405805 004D072E
> initrd at: 004D1000 00528981
> avail ram: 0052C000 10000000
>
> Linux/PPC load: console=ttyS0,9600 console=tty0 root=/dev/ram rw
> Uncompressing Linux...done.
> Now booting the kernel
> initrd start c04d1000 end c0528981
> Linux version 2.6.17.9 (root@AFedora3) (gcc version 3.4.5) #32 PREEMPT Tue
> Oct 3 23:25:12 EDT 2006
> Xilinx Virtex-II Pro port
> Port by MontaVista Software, Inc. (source@mvista.com)
> Built 1 zonelists
> Kernel command line: console=ttyS0,9600 console=tty0 root=/dev/ram rw
> Xilinx INTC #0 at 0x41200000 mapped to 0xFDFFE000
> PID hash table entries: 2048 (order: 11, 8192 bytes)
> Console: colour dummy device 80x25
> Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
> Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
> Memory: 257408k available (1424k kernel code, 368k data, 80k init, 0k
> highmem)
> Mount-cache hash table entries: 512
> checking if image is initramfs...it isn't (no cpio magic); looks like an
> initrd
> Freeing initrd memory: 350k freed
> NET: Registered protocol family 16
> NET: Registered protocol family 2
> IP route cache hash table entries: 2048 (order: 1, 8192 bytes)
> TCP established hash table entries: 8192 (order: 3, 32768 bytes)
> TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
> TCP: Hash tables configured (established 8192 bind 4096)
> TCP reno registered
> io scheduler noop registered (default)
> Serial: 8250/16550 driver $Revision: 1.90 $ 1 ports, IRQ sharing disabled
> serial8250.0: ttyS0 at MMIO 0x40401003 (irq = 1) is a 16450
> RAMDISK driver initialized: 1 RAM disks of 4096K size 1024 blocksize
> loop: loaded (max 2 devices)
> nbd: registered device at major 43
> eth0: using fifo mode.
> eth0: Xilinx EMAC #0 at 0x80400000 mapped to 0xD1000000, irq=0
> eth0: id 2.0a; block id 0, type 8
> mice: PS/2 mouse device common for all mice
> TCP bic registered
> NET: Registered protocol family 1
> NET: Registered protocol family 17
> RAMDISK: Compressed image found at block 0
> allocated in buffer
> allocated window buffer
> make crc
> gunzip
> Oops: kernel access of bad area, sig: 11 [#1]
> PREEMPT
> NIP: C004115C LR: C0041148 CTR: C00FA29C
> REGS: c0421610 TRAP: 0300 Not tainted (2.6.17.9)
> MSR: 00029030 <EE,ME,IR,DR> CR: 35035093 XER: E0000000
> DAR: 00001000, DSISR: 00800000
> TASK = c0529b10[1] 'swapper' THREAD: c0420000
> GPR00: C0041148 C04216C0 C0529B10 00000000 00000001 00000001 C04216A8
> 00000000
> GPR08: 00000000 00001000 00000400 00000000 35035099 FFFF9620 00000001
> C04216D0
> GPR16: C018CD50 C04C88A0 C052FC08 00000000 00001000 00010000 C052FCA8
> 00000000
> GPR24: 00140000 C0450000 00000000 00001000 C01E3F20 00001000 00001000
> 00000000
> NIP [C004115C] generic_file_buffered_write+0x4ec/0x5bc
> LR [C0041148] generic_file_buffered_write+0x4d8/0x5bc
> Call Trace:
> [C04216C0] [C0041148] generic_file_buffered_write+0x4d8/0x5bc (unreliable)
> [C0421780] [C0041A10] __generic_file_aio_write_nolock+0x4d4/0x50c
> [C0421810] [C0041DB8] generic_file_aio_write_nolock+0x28/0x98
> [C0421830] [C0041EA0] generic_file_write_nolock+0x78/0xa8
> [C04218D0] [C00657F8] blkdev_file_write+0x20/0x30
> [C04218E0] [C005B400] vfs_write+0xc8/0x190
> [C0421900] [C005B5A0] sys_write+0x4c/0x8c
> [C0421930] [C01AD2D4] flush_window+0x34/0xe4
> [C0421950] [C01AD8B8] inflate_codes+0x468/0x4b0
> [C04219A0] [C01AE0E0] inflate_dynamic+0x64c/0x690
> [C0421EE0] [C01AEA1C] rd_load_image+0x8f4/0x106c
> [C0421F40] [C01AF33C] initrd_load+0x4c/0x304
> [C0421F70] [C01ACCB8] prepare_namespace+0xa8/0x11c
> [C0421F90] [C0002580] init+0x1b4/0x280
> [C0421FF0] [C00051FC] kernel_thread+0x44/0x60
> Instruction dump:
> 48006591 2f9d0000 419c001c 7ec3b378 38800001 4800441d 48120851 2f930000
> 409efbe8 8061005c 81210064 2f830000 <92e90000> 93090004 41be0008 48006555
> Kernel panic - not syncing: Attempted to kill init!
> <0>Rebooting in 180 seconds.
>
>
> With uncompress ramdisk image:
>
> loaded at: 00400000 008D313C
> board data at: 008D1124 008D113C
> relocated to: 004050F0 00405108
> zimage at: 00405805 004D072C
> initrd at: 004D1000 008D1000
> avail ram: 008D4000 10000000
>
> Linux/PPC load: console=ttyS0,9600 console=tty0 root=/dev/ram rw
> Uncompressing Linux...done.
> Now booting the kernel
> initrd start c04d1000 end c08d1000
> Linux version 2.6.17.9 (root@AFedora3) (gcc version 3.4.5) #33 PREEMPT Wed
> Oct 4 00:18:59 EDT 2006
> Xilinx Virtex-II Pro port
> Port by MontaVista Software, Inc. (source@mvista.com)
> Built 1 zonelists
> Kernel command line: console=ttyS0,9600 console=tty0 root=/dev/ram rw
> Xilinx INTC #0 at 0x41200000 mapped to 0xFDFFE000
> PID hash table entries: 2048 (order: 11, 8192 bytes)
> Console: colour dummy device 80x25
> Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
> Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
> Memory: 253696k available (1424k kernel code, 368k data, 80k init, 0k
> highmem)
> Mount-cache hash table entries: 512
> checking if image is initramfs...it isn't (bad gzip magic numbers); looks
> like an initrd
> Freeing initrd memory: 4096k freed
> NET: Registered protocol family 16
> NET: Registered protocol family 2
> IP route cache hash table entries: 2048 (order: 1, 8192 bytes)
> TCP established hash table entries: 8192 (order: 3, 32768 bytes)
> TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
> TCP: Hash tables configured (established 8192 bind 4096)
> TCP reno registered
> io scheduler noop registered (default)
> Serial: 8250/16550 driver $Revision: 1.90 $ 1 ports, IRQ sharing disabled
> serial8250.0: ttyS0 at MMIO 0x40401003 (irq = 1) is a 16450
> RAMDISK driver initialized: 1 RAM disks of 4096K size 1024 blocksize
> loop: loaded (max 2 devices)
> nbd: registered device at major 43
> eth0: using fifo mode.
> eth0: Xilinx EMAC #0 at 0x80400000 mapped to 0xD1000000, irq=0
> eth0: id 2.0a; block id 0, type 8
> mice: PS/2 mouse device common for all mice
> TCP bic registered
> NET: Registered protocol family 1
> NET: Registered protocol family 17
> RAMDISK: ext2 filesystem found at block 0
> found ramdisk # blocks = 4096 /initrd.image
> RAMDISK: Loading 4096KiB [1 disk] into ram disk... Oops: Exception in
> kernel mode, sig: 4 [#1]
> PREEMPT
> NIP: C0079058 LR: C0079018 CTR: 00000000
> REGS: c08e1c20 TRAP: 0700 Not tainted (2.6.17.9)
> MSR: 00029030 <EE,ME,IR,DR> CR: 35005093 XER: C0000000
> TASK = c04c9b10[1] 'swapper' THREAD: c08e0000
> GPR00: 11A49A00 C08E1CD0 C04C9B10 C08E1CD8 C08E1CB8 00000001 C08D4C00
> 00000003
> GPR08: 11A49A00 11A49A00 11A49A00 C08D26AC 00000400 FFFF9620 00000002
> C08D2664
> GPR16: 00000002 00000001 C08E1EC0 C04C26C0 00000000 C08E1DA0 000003FF
> C08D2704
> GPR24: 00001000 00000000 00400000 00000400 00000001 00000400 00000000
> C08D2664
> NIP [C0079058] touch_atime+0xc4/0xd8
> LR [C0079018] touch_atime+0x84/0xd8
> Call Trace:
> [C08E1CD0] [C0079018] touch_atime+0x84/0xd8 (unreliable)
> [C08E1CF0] [C003FBF0] do_generic_mapping_read+0x490/0x4a4
> [C08E1D90] [C00420BC] __generic_file_aio_read+0x1ec/0x238
> [C08E1DE0] [C0042238] generic_file_read+0x88/0xb8
> [C08E1E90] [C005B16C] vfs_read+0xc8/0x190
> [C08E1EB0] [C005B514] sys_read+0x4c/0x8c
> [C08E1EE0] [C01AF100] rd_load_image+0xfd8/0x106c
> [C08E1F40] [C01AF33C] initrd_load+0x4c/0x304
> [C08E1F70] [C01ACCB8] prepare_namespace+0xa8/0x11c
> [C08E1F90] [C0002580] init+0x1b4/0x280
> [C08E1FF0] [C00051FC] kernel_thread+0x44/0x60
> Instruction dump:
> 409e0014 800b0004 8121000c 7f804800 419e0020 81210008 8141000c 7fe3fb78
> 913f0048 915f004c 38800001 4800b1a1 <00000000> 00000800 7c0803a6 38210020
> Kernel panic - not syncing: Attempted to kill init!
> <0>Rebooting in 180 seconds..
>
>
> _______________________________________________
> Linuxppc-embedded mailing list
> Linuxppc-embedded@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-embedded
>
--
Dave Lynch DLA Systems
Software Development: Embedded Linux
717.627.3770 dhlii@dlasys.net http://www.dlasys.net
fax: 1.253.369.9244 Cell: 1.717.587.7774
Over 25 years' experience in platforms, languages, and technologies too numerous to list.
"Any intelligent fool can make things bigger and more complex... It takes a touch of genius - and a lot of courage to move in the opposite direction."
Albert Einstein
^ permalink raw reply
* Re: 440SP External Interrupt IRQ
From: Jeff Stevens @ 2006-10-06 10:27 UTC (permalink / raw)
To: Stefan Roese, linuxppc-embedded
In-Reply-To: <200610060646.23125.sr@denx.de>
I'm sorry if this is an easy question, but how do my
schematics tell me that pint IRQ0 uses IRQ 48 in my
board specific PCI IRQ lookup table, where it is
matching up the idsel lines to an irq number? For
instance, in arch/ppc/platforms/4xx/luan.c it maps PCI
interrupts like:
static inline int
luan_map_irq(struct pci_dev *dev, unsigned char idsel,
unsigned char pin)
{
struct pci_controller *hose =
pci_bus_to_hose(dev->bus->number);
/* PCIX0 in adapter mode, no host interrupt routing
*/
/* PCIX1 */
if (hose->index == 0) {
static char pci_irq_table[][4] =
/*
* PCI IDSEL/INTPIN->INTLINE
* A B C D
*/
{
{ 49, 49, 49, 49 }, /* IDSEL 1 - PCIX1 Slot 0 */
{ 49, 49, 49, 49 }, /* IDSEL 2 - PCIX1 Slot 1 */
{ 49, 49, 49, 49 }, /* IDSEL 3 - PCIX1 Slot 2 */
{ 49, 49, 49, 49 }, /* IDSEL 4 - PCIX1 Slot 3 */
};
const long min_idsel = 1, max_idsel = 4,
irqs_per_slot = 4;
return PCI_IRQ_TABLE_LOOKUP;
/* PCIX2 */
} else if (hose->index == 1) {
static char pci_irq_table[][4] =
/*
* PCI IDSEL/INTPIN->INTLINE
* A B C D
*/
{
{ 50, 50, 50, 50 }, /* IDSEL 1 - PCIX2 Slot 0 */
{ 50, 50, 50, 50 }, /* IDSEL 2 - PCIX2 Slot 1 */
{ 50, 50, 50, 50 }, /* IDSEL 3 - PCIX2 Slot 2 */
{ 50, 50, 50, 50 }, /* IDSEL 4 - PCIX2 Slot 3 */
};
const long min_idsel = 1, max_idsel = 4,
irqs_per_slot = 4;
return PCI_IRQ_TABLE_LOOKUP;
}
return -1;
}
Based on their schematics, I assume:
IRQ Line IRQ#
IRQ0 48
IRQ1 49
IRQ2 50
IRQ3 51
IRQ4 52
IRQ5 53
I just hate assuming, and would like to understand how
they come up with the IRQ offset for the external
interrups.
-Jeff
--- Stefan Roese <sr@denx.de> wrote:
> Jeff,
>
> On Friday 06 October 2006 05:49, Jeff Stevens wrote:
> > I am trying to figure out the PCI IRQ mapping on a
> > 440SP processor in linux-2.6.17.9. I have a board
> > that is based off of the Luan development board,
> and I
> > am not sure which IRQ corresponds to each external
> > IRQ[0:5] pins on the processor. Where can I find
> this
> > information?
>
> In your schematics. Sorry but it's that simple.
>
> Best regards,
> Stefan
>
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
^ permalink raw reply
* Re: [PATCH] powerpc: make U4 PCIe work (#2)
From: Segher Boessenkool @ 2006-10-06 11:26 UTC (permalink / raw)
To: Benjamin Herrenschmidt; +Cc: linuxppc-dev list, Paul Mackerras
In-Reply-To: <1160113201.22232.112.camel@localhost.localdomain>
> +static unsigned int u4_pcie_cfa0(u8 devfn, u8 off)
"off" should be bigger than u8...
> +{
> + return (1 << ((unsigned int)PCI_SLOT(devfn))) |
> + (((unsigned int)PCI_FUNC(devfn)) << 8) |
> + ((((unsigned int)(off)) >> 8) << 28) |
...and the compiler told you about that here.
Make the parameters and return value all u32 and you won't
need casts anymore, the function call will implicitly do it.
Segher
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox