RE: SystemACE driver problem
Grant Regarding your comment about the new xsysace.c driver vs. the old Xilinx one, is that chosen at the kernel config time ? i.e. cp arch/ppc/configs/ml403_defconfig make ARCH=ppc CROSS_COMPILE=/opt/eldk4.1/usr/bin/ppc_4xx- oldconfig ... Xilinx SystemACE support (XILINX_SYSACE) [N/m/y/?] (NEW) y Xilinx SystemACE support (old driver) (XILINX_SYSACE_OLD) [N/m/y/?] (NEW) N I am also about build and test with the 2.6.23-rc2 same source. Just wanted to be sure I am choosing the right driver for the ml403 reference design bits from Xilinx. Thanks John Hahn BCF Semiconductor --- P.S. Sorry for taking the thread off on a slight tangent ... From: Grant Likely Sent: Friday, October 19, 2007 11:21 AM ... snip I don't know about the old xilinx supplied sysace driver, but the new xsysace.c driver is robust enough to work around missed interrupts. I don't know of any other problems with the opb_sysace IP core. Cheers, g. -- Grant Likely, B.Sc., P.Eng. Secret Lab Technologies Ltd. [EMAIL PROTECTED] (403) 399-0195 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: SystemACE driver problem
On 10/21/07, John Hahn [EMAIL PROTECTED] wrote: Grant Regarding your comment about the new xsysace.c driver vs. the old Xilinx one, is that chosen at the kernel config time ? i.e. cp arch/ppc/configs/ml403_defconfig make ARCH=ppc CROSS_COMPILE=/opt/eldk4.1/usr/bin/ppc_4xx- oldconfig ... Xilinx SystemACE support (XILINX_SYSACE) [N/m/y/?] (NEW) y Xilinx SystemACE support (old driver) (XILINX_SYSACE_OLD) [N/m/y/?] (NEW) N I am also about build and test with the 2.6.23-rc2 same source. Just wanted to be sure I am choosing the right driver for the ml403 reference design bits from Xilinx. Both drivers work. The new driver is faster, but the old driver is more featurefull. If one isn't working for you, try the other and report your experiences with both here to the list. Cheers, g. -- Grant Likely, B.Sc., P.Eng. Secret Lab Technologies Ltd. [EMAIL PROTECTED] (403) 399-0195 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: SystemACE driver problem
On 10/19/07, aauer1 [EMAIL PROTECTED] wrote: Grant Likely-2 wrote: On 10/19/07, aauer1 [EMAIL PROTECTED] wrote: Hello I'm trying to boot a Linux Kernel 2.6.23-rc2 from Grant Likely (thanks for the great work) on a Xilinx ML403 board. I want to use the second partition of the Compact Flash Card as root filesystem. But the boot process hangs at the initialization of the SystemACE module. A strange effect is that the DONE LED (configuration of the FPGA is done) turns off. So, this means that the FPGA loses his configuration. Has anybody recognized a similar problem with the SystemACE module?? The boot log: [snipped] [0.268807] uartlite.0: ttyUL0 at MMIO 0x4060 (irq = 2) is a uartlite [0.270399] console [ttyUL0] enabled [1.762725] RAMDISK driver initialized: 8 RAM disks of 8192K size 1024 blocke [1.852062] Registering Xilinx SystemACE driver, major=254 [1.919734] xsysace xsysace.0: ace_probe(c01638e0) Yes, I've seen that. It means something went wrong with the setup and caused the sysace to reload the FPGA. Is the systemace base address and bus width set correctly? The base address is the same as in the system.mhs file of my hardware design. So, I think it should be correct. The bus width is set to 16 bits (hardware design). So far as I can see, the sysace driver defines a 16 bit data bus (hard coded), too. Hmmm; that's all very odd. I don't know what could be causing that. A paper of BlueCat Linux says that there is a problem with the System ACE hardware module: Due to a known problem of the opb_sysace IP Core programmed into the FPGA (incorrect operation in the interrupt mode) the SystemACE Compact Flash device is supported in the polling mode. Does anyone know something about the bug in the SystemACE IP core?? I don't know about the old xilinx supplied sysace driver, but the new xsysace.c driver is robust enough to work around missed interrupts. I don't know of any other problems with the opb_sysace IP core. Cheers, g. -- Grant Likely, B.Sc., P.Eng. Secret Lab Technologies Ltd. [EMAIL PROTECTED] (403) 399-0195 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: SystemACE driver problem
Grant Likely-2 wrote: On 10/19/07, aauer1 [EMAIL PROTECTED] wrote: Hello I'm trying to boot a Linux Kernel 2.6.23-rc2 from Grant Likely (thanks for the great work) on a Xilinx ML403 board. I want to use the second partition of the Compact Flash Card as root filesystem. But the boot process hangs at the initialization of the SystemACE module. A strange effect is that the DONE LED (configuration of the FPGA is done) turns off. So, this means that the FPGA loses his configuration. Has anybody recognized a similar problem with the SystemACE module?? The boot log: [snipped] [0.268807] uartlite.0: ttyUL0 at MMIO 0x4060 (irq = 2) is a uartlite [0.270399] console [ttyUL0] enabled [1.762725] RAMDISK driver initialized: 8 RAM disks of 8192K size 1024 blocke [1.852062] Registering Xilinx SystemACE driver, major=254 [1.919734] xsysace xsysace.0: ace_probe(c01638e0) Yes, I've seen that. It means something went wrong with the setup and caused the sysace to reload the FPGA. Is the systemace base address and bus width set correctly? The base address is the same as in the system.mhs file of my hardware design. So, I think it should be correct. The bus width is set to 16 bits (hardware design). So far as I can see, the sysace driver defines a 16 bit data bus (hard coded), too. A paper of BlueCat Linux says that there is a problem with the System ACE hardware module: Due to a known problem of the opb_sysace IP Core programmed into the FPGA (incorrect operation in the interrupt mode) the SystemACE Compact Flash device is supported in the polling mode. Does anyone know something about the bug in the SystemACE IP core?? Thanks, Andreas -- View this message in context: http://www.nabble.com/SystemACE-driver-problem-tf4651846.html#a13300089 Sent from the linuxppc-embedded mailing list archive at Nabble.com. ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: SystemACE driver problem
On 10/19/07, aauer1 [EMAIL PROTECTED] wrote: Hello I'm trying to boot a Linux Kernel 2.6.23-rc2 from Grant Likely (thanks for the great work) on a Xilinx ML403 board. I want to use the second partition of the Compact Flash Card as root filesystem. But the boot process hangs at the initialization of the SystemACE module. A strange effect is that the DONE LED (configuration of the FPGA is done) turns off. So, this means that the FPGA loses his configuration. Has anybody recognized a similar problem with the SystemACE module?? The boot log: [0.00] Linux version 2.6.23-rc2 ([EMAIL PROTECTED]) (gcc version 4.0.0 (DEN7 [0.00] Xilinx ML403 Reference System (Virtex-4 FX) [0.00] Zone PFN ranges: [0.00] DMA 0 -16384 [0.00] Normal 16384 -16384 [0.00] Movable zone start PFN for each node [0.00] early_node_map[1] active PFN ranges [0.00] 0:0 -16384 [0.00] Built 1 zonelists in Zone order. Total pages: 16256 [0.00] Kernel command line: console=ttyUL0 root=/dev/xsa2 rw [0.00] Xilinx INTC #0 at 0x4120 mapped to 0xFDFFF000 [0.00] PID hash table entries: 256 (order: 8, 1024 bytes) [0.000328] Console: colour dummy device 80x25 [0.001390] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes) [0.002934] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes) [0.029759] Memory: 63244k available (1176k kernel code, 388k data, 84k init) [0.120774] Mount-cache hash table entries: 512 [0.171986] io scheduler noop registered [0.172248] io scheduler anticipatory registered (default) [0.172300] io scheduler deadline registered [0.172508] io scheduler cfq registered [0.268807] uartlite.0: ttyUL0 at MMIO 0x4060 (irq = 2) is a uartlite [0.270399] console [ttyUL0] enabled [1.762725] RAMDISK driver initialized: 8 RAM disks of 8192K size 1024 blocke [1.852062] Registering Xilinx SystemACE driver, major=254 [1.919734] xsysace xsysace.0: ace_probe(c01638e0) Yes, I've seen that. It means something went wrong with the setup and caused the sysace to reload the FPGA. Is the systemace base address and bus width set correctly? Cheers, g. -- Grant Likely, B.Sc., P.Eng. Secret Lab Technologies Ltd. [EMAIL PROTECTED] (403) 399-0195 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
SystemACE driver problem
Hello I'm trying to boot a Linux Kernel 2.6.23-rc2 from Grant Likely (thanks for the great work) on a Xilinx ML403 board. I want to use the second partition of the Compact Flash Card as root filesystem. But the boot process hangs at the initialization of the SystemACE module. A strange effect is that the DONE LED (configuration of the FPGA is done) turns off. So, this means that the FPGA loses his configuration. Has anybody recognized a similar problem with the SystemACE module?? The boot log: [0.00] Linux version 2.6.23-rc2 ([EMAIL PROTECTED]) (gcc version 4.0.0 (DEN7 [0.00] Xilinx ML403 Reference System (Virtex-4 FX) [0.00] Zone PFN ranges: [0.00] DMA 0 -16384 [0.00] Normal 16384 -16384 [0.00] Movable zone start PFN for each node [0.00] early_node_map[1] active PFN ranges [0.00] 0:0 -16384 [0.00] Built 1 zonelists in Zone order. Total pages: 16256 [0.00] Kernel command line: console=ttyUL0 root=/dev/xsa2 rw [0.00] Xilinx INTC #0 at 0x4120 mapped to 0xFDFFF000 [0.00] PID hash table entries: 256 (order: 8, 1024 bytes) [0.000328] Console: colour dummy device 80x25 [0.001390] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes) [0.002934] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes) [0.029759] Memory: 63244k available (1176k kernel code, 388k data, 84k init) [0.120774] Mount-cache hash table entries: 512 [0.171986] io scheduler noop registered [0.172248] io scheduler anticipatory registered (default) [0.172300] io scheduler deadline registered [0.172508] io scheduler cfq registered [0.268807] uartlite.0: ttyUL0 at MMIO 0x4060 (irq = 2) is a uartlite [0.270399] console [ttyUL0] enabled [1.762725] RAMDISK driver initialized: 8 RAM disks of 8192K size 1024 blocke [1.852062] Registering Xilinx SystemACE driver, major=254 [1.919734] xsysace xsysace.0: ace_probe(c01638e0) Thanks, Andreas -- View this message in context: http://www.nabble.com/SystemACE-driver-problem-tf4651846.html#a13290652 Sent from the linuxppc-embedded mailing list archive at Nabble.com. ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: [RFC] SystemACE driver - abstract register ops
WR == Wolfgang Reissnegger [EMAIL PROTECTED] writes: Hi, WR The end goal is to have a kernel tree that contains ALL Xilinx WR drivers and the multitude of drivers that are being WR created/updated and contributed here. Having such a kernel WR available will simplify the process of bringing up a new WR system. The hope is that contributors will adopt the idea of WR having a Xilinx kernel and will start using that tree as a base WR reference. But there already is such a tree - It's called 'mainline'. I can see some advantage in having a Xilinx tree as a staging area, but it really HAS to be a temporary thing and stuff needs to be pushed to mainline. WR I will post news here as they unfold. In the meantime it would be WR very interesting to hear ideas and suggestions from you. Concerns WR that people have. Pitfalls to look out for etc. Hereby my 2 cents. -- Bye, Peter Korsgaard ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: [RFC] SystemACE driver - abstract register ops
Grant, Grant Likely wrote: On 4/27/07, John Williams [EMAIL PROTECTED] wrote: Thanks for your work on the SystemACE driver - I'll be porting/merging this across to MicroBlaze very shortly. Very cool; I hope it works well. Indeed it does - your latest patchset version of the systemACE driver just works on MicroBlaze 2.6.20 I have only tested the 16-bit buswidth (standard ML401 reference design). For your reading pleasure, I've attached the bus attachment changes that I've made in my tree. I hope to get this driver accepted into mainline during the 2.6.22 merge window; so please get any comments you have back to me ASAP. Acked-by: John Williams [EMAIL PROTECTED] John ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: [RFC] SystemACE driver - abstract register ops
On 4/30/07, John Williams [EMAIL PROTECTED] wrote: Grant, Grant Likely wrote: Very cool; I hope it works well. Indeed it does - your latest patchset version of the systemACE driver just works on MicroBlaze 2.6.20 Acked-by: John Williams [EMAIL PROTECTED] Wonderful, thanks John. I've got a few last little details that I'm going to try and get sorted out in the next 24 hours or so, and then I'll post the driver to the lkml. If things go really well, it might even get picked up for 2.6.22. I'll make sure to CC you when I send it. Cheers, g. -- Grant Likely, B.Sc. P.Eng. Secret Lab Technologies Ltd. [EMAIL PROTECTED] (403) 399-0195 ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Re: [RFC] SystemACE driver - abstract register ops
On 4/27/07, John Williams [EMAIL PROTECTED] wrote: Grant, Thanks for your work on the SystemACE driver - I'll be porting/merging this across to MicroBlaze very shortly. Given that SysACE can be hooked up in any number of ways, bit widths, endians, PPC/Microblaze, can you please offer your comments on the attached patch? HAHAHAHAHAHAHA! Guess what I just finished writing before receiving your email. I've got something very similar that I'm testing now, but thanks for the patch. I feel better that someone else has the same opinion on how to hook up the bus. Cheers, g. It introduce a private ace_reg_ops structure, with various member functions for the different kinds of accesses to the HW. This patch should not change the functionality of your original driver at all, it's just groundwork for what's to come. I recognise that it adds indirection into the various access paths, and potentially a little bloat. Whether this is better than #if 1...#else...#endif is debatable. Similar issues will arise for most (all?) of the Xilinx drivers that we will share between PPC and MicroBlaze. Hopefully we can converge on a nice consistent and clean way of handling these dual arch drivers. Cheers, John Index: linux-2.6.x-petalogix/drivers/block/xsysace.c === --- linux-2.6.x-petalogix/drivers/block/xsysace.c (revision 2628) +++ linux-2.6.x-petalogix/drivers/block/xsysace.c (working copy) @@ -73,6 +73,11 @@ *interrupt, then the kernel timer will expire and the driver can *continue where it left off. * + * SystemACE can be wired up in different endian orders and data widths. + * It works on both PPC and MicroBlaze architectures. For this reason, + * an ace_reg_ops structure is used that abstracts away low level + * endian/width/arch access to the HW registers. + * To Do: *- Add FPGA configuration control interface. *- Request major number from lanana @@ -161,32 +166,120 @@ /* - * Low level register access */ +struct reg_ops { + u8 (*read8)(void *addr); + u16 (*read16)(void *addr); + u32 (*read32)(void *addr); + u32 (*readdata)(void *addr); -/* register access macros */ + void (*write16)(void *addr, u16 val); + void (*write32)(void *addr, u32 val); + void (*writedata)(void *addr, u32 val); +}; + +#define ace_reg_read8(ace, reg) (ace-ops-read8(ace-baseaddr + reg)) +#define ace_reg_read16(ace, reg) (ace-ops-read16(ace-baseaddr + reg)) +#define ace_reg_readdata(ace, reg) (ace-ops-readdata(ace-baseaddr + reg)) +#define ace_reg_read32(ace, reg) (ace-ops-read32(ace-baseaddr+reg)) +#define ace_reg_write16(ace, reg, val) (ace-ops-write16(ace-baseaddr+reg, val)) +#define ace_reg_writedata(ace, reg, val) (ace-ops-writedata(ace-baseaddr + reg, val)) +#define ace_reg_write32(ace, reg, val) (ace-ops-write32(ace-baseaddr+reg, val)) + +/* register access functions */ #if 1 /* Little endian 16-bit regs */ -#define ace_reg_read8(ace, reg) in_8(ace-baseaddr + reg) -#define ace_reg_read16(ace, reg) in_le16(ace-baseaddr + reg) -#define ace_reg_readdata(ace, reg) in_be16(ace-baseaddr + reg) -#define ace_reg_read32(ace, reg) ((in_le16(ace-baseaddr + reg+2) 16) | \ - (in_le16(ace-baseaddr + reg))) -#define ace_reg_write16(ace, reg, val) out_le16(ace-baseaddr + reg, val) -#define ace_reg_writedata(ace, reg, val) out_be16(ace-baseaddr + reg, val) -#define ace_reg_write32(ace, reg, val) { \ - out_le16(ace-baseaddr + reg+2, (val) 16); \ - out_le16(ace-baseaddr + reg, val); \ - } +static u8 ace_le16_read8(void *addr) +{ + return in_8(addr); +} + +static u16 ace_le16_read16(void *addr) +{ + return in_le16(addr); +} + +static u32 ace_le16_read32(void *addr) +{ + return ((in_le16(addr+2) 16) | (in_le16(addr))); +} + +static u32 ace_le16_readdata(void *addr) +{ + return in_be16(addr); +} + +static void ace_le16_write16(void *addr, u16 val) +{ + out_le16(addr, val); +} + +static void ace_le16_write32(void *addr, u32 val) +{ + out_le16(addr+2,(val) 16); \ + out_le16(addr, val); +} + +static void ace_le16_writedata(void *addr, u32 val) +{ + out_be16(addr, val); +} + +static struct reg_ops ace_ops = { + .read8 = ace_le16_read8, + .read16 = ace_le16_read16, + .read32 = ace_le16_read32, + .readdata = ace_le16_readdata, + .write16 = ace_le16_write16, + .write32 = ace_le16_write32, + .writedata =ace_le16_writedata +} ; + #else /* Big endian 16-bit regs */ -#define ace_reg_read8(ace, reg) in_8(ace-baseaddr + reg) -#define ace_reg_read16(ace, reg) in_be16(ace-baseaddr + reg
Re: [RFC] SystemACE driver - abstract register ops
On 4/27/07, John Williams [EMAIL PROTECTED] wrote: Grant, Thanks for your work on the SystemACE driver - I'll be porting/merging this across to MicroBlaze very shortly. Very cool; I hope it works well. Given that SysACE can be hooked up in any number of ways, bit widths, endians, PPC/Microblaze, can you please offer your comments on the attached patch? Okay, after getting over my initial mirth about working on the *exact* same thing and finishing it at the *exact* time that you sent me your patch, I think I'm ready to make useful comments. :-) It introduce a private ace_reg_ops structure, with various member functions for the different kinds of accesses to the HW. This patch should not change the functionality of your original driver at all, it's just groundwork for what's to come. I recognise that it adds indirection into the various access paths, and potentially a little bloat. Whether this is better than #if 1...#else...#endif is debatable. I'm not to concerned with the added redirection. On my 405 designs, I find that bus overhead has a far greater impact than any of the processing paths in the driver, so this shouldn't be a problem. Besides, when we finally move to arch/powerpc, it will become very feasable to have a single kernel image that will boot on multiple ppc405 FPGA configurations; just change the device tree passed in. Similar issues will arise for most (all?) of the Xilinx drivers that we will share between PPC and MicroBlaze. Hopefully we can converge on a nice consistent and clean way of handling these dual arch drivers. I agree 100% For your reading pleasure, I've attached the bus attachment changes that I've made in my tree. I hope to get this driver accepted into mainline during the 2.6.22 merge window; so please get any comments you have back to me ASAP. Cheers, g. From 10211a2cb23f9c7cc447f800a1f3828630cea819 Mon Sep 17 00:00:00 2001 From: Grant Likely grant.likely@secretlab.ca Date: Fri, 27 Apr 2007 00:19:09 -0600 Subject: [PATCH] [SYSACE] Make bus binding selectable at runtime The SystemACE can be wired up to many different bus arangements. This patch defines 8, be16 and le16 bus attachments and adds the code to select them at runtime. Signed-off-by: Grant Likely grant.likely@secretlab.ca --- drivers/block/xsysace.c | 256 ++ 1 files changed, 189 insertions(+), 67 deletions(-) diff --git a/drivers/block/xsysace.c b/drivers/block/xsysace.c index e8b4cd4..5085770 100644 --- a/drivers/block/xsysace.c +++ b/drivers/block/xsysace.c @@ -80,7 +80,6 @@ */ #undef DEBUG -#undef DEBUG_ENDIAN /* Uncomment to debug register endinaness */ #include linux/module.h #include linux/ctype.h @@ -156,38 +155,11 @@ MODULE_LICENSE(GPL); #define ACE_FATSTAT (0x1c) #define ACE_NUM_MINORS 16 -#define ACE_BUF_PER_SECTOR (512 / 32) /* 512_byte_sector / 32_byte_fifo */ +#define ACE_SECTOR_SIZE (512) +#define ACE_FIFO_SIZE (32) +#define ACE_BUF_PER_SECTOR (ACE_SECTOR_SIZE / ACE_FIFO_SIZE) -/* - - * Low level register access - */ - -/* register access macros */ -#if 1 /* Little endian 16-bit regs */ -#define ace_reg_read8(ace, reg) in_8(ace-baseaddr + reg) -#define ace_reg_read16(ace, reg) in_le16(ace-baseaddr + reg) -#define ace_reg_readdata(ace, reg) in_be16(ace-baseaddr + reg) -#define ace_reg_read32(ace, reg) ((in_le16(ace-baseaddr + reg+2) 16) | \ - (in_le16(ace-baseaddr + reg))) -#define ace_reg_write16(ace, reg, val) out_le16(ace-baseaddr + reg, val) -#define ace_reg_writedata(ace, reg, val) out_be16(ace-baseaddr + reg, val) -#define ace_reg_write32(ace, reg, val) { \ - out_le16(ace-baseaddr + reg+2, (val) 16); \ - out_le16(ace-baseaddr + reg, val); \ - } -#else /* Big endian 16-bit regs */ -#define ace_reg_read8(ace, reg) in_8(ace-baseaddr + reg) -#define ace_reg_read16(ace, reg) in_be16(ace-baseaddr + reg) -#define ace_reg_readdata(ace, reg) in_le16(ace-baseaddr + reg) -#define ace_reg_read32(ace, reg) ((in_be16(ace-baseaddr + reg+2) 16) | \ - (in_be16(ace-baseaddr + reg))) -#define ace_reg_write16(ace, reg, val) out_be16(ace-baseaddr + reg, val) -#define ace_reg_writedata(ace, reg, val) out_le16(ace-baseaddr + reg, val) -#define ace_reg_write32(ace, reg, val) { \ - out_be16(ace-baseaddr + reg+2, (val) 16); \ - out_be16(ace-baseaddr + reg, val); \ - } -#endif +struct ace_reg_ops; struct ace_device { /* driver state data */ @@ -220,6 +192,7 @@ struct ace_device { void* baseaddr; int irq; int bus_width; /* 0 := 8 bit; 1 := 16 bit */ + struct ace_reg_ops *reg_ops; int lock_count; /* Block device data structures */ @@ -236,6 +209,168 @@ static LIST_HEAD(ace_instances); static int ace_major = 0
[RFC] SystemACE driver - abstract register ops
Grant, Thanks for your work on the SystemACE driver - I'll be porting/merging this across to MicroBlaze very shortly. Given that SysACE can be hooked up in any number of ways, bit widths, endians, PPC/Microblaze, can you please offer your comments on the attached patch? It introduce a private ace_reg_ops structure, with various member functions for the different kinds of accesses to the HW. This patch should not change the functionality of your original driver at all, it's just groundwork for what's to come. I recognise that it adds indirection into the various access paths, and potentially a little bloat. Whether this is better than #if 1...#else...#endif is debatable. Similar issues will arise for most (all?) of the Xilinx drivers that we will share between PPC and MicroBlaze. Hopefully we can converge on a nice consistent and clean way of handling these dual arch drivers. Cheers, John Index: linux-2.6.x-petalogix/drivers/block/xsysace.c === --- linux-2.6.x-petalogix/drivers/block/xsysace.c (revision 2628) +++ linux-2.6.x-petalogix/drivers/block/xsysace.c (working copy) @@ -73,6 +73,11 @@ *interrupt, then the kernel timer will expire and the driver can *continue where it left off. * + * SystemACE can be wired up in different endian orders and data widths. + * It works on both PPC and MicroBlaze architectures. For this reason, + * an ace_reg_ops structure is used that abstracts away low level + * endian/width/arch access to the HW registers. + * To Do: *- Add FPGA configuration control interface. *- Request major number from lanana @@ -161,32 +166,120 @@ /* - * Low level register access */ +struct reg_ops { + u8 (*read8)(void *addr); + u16 (*read16)(void *addr); + u32 (*read32)(void *addr); + u32 (*readdata)(void *addr); -/* register access macros */ + void (*write16)(void *addr, u16 val); + void (*write32)(void *addr, u32 val); + void (*writedata)(void *addr, u32 val); +}; + +#define ace_reg_read8(ace, reg) (ace-ops-read8(ace-baseaddr + reg)) +#define ace_reg_read16(ace, reg) (ace-ops-read16(ace-baseaddr + reg)) +#define ace_reg_readdata(ace, reg) (ace-ops-readdata(ace-baseaddr + reg)) +#define ace_reg_read32(ace, reg) (ace-ops-read32(ace-baseaddr+reg)) +#define ace_reg_write16(ace, reg, val) (ace-ops-write16(ace-baseaddr+reg, val)) +#define ace_reg_writedata(ace, reg, val) (ace-ops-writedata(ace-baseaddr + reg, val)) +#define ace_reg_write32(ace, reg, val) (ace-ops-write32(ace-baseaddr+reg, val)) + +/* register access functions */ #if 1 /* Little endian 16-bit regs */ -#define ace_reg_read8(ace, reg) in_8(ace-baseaddr + reg) -#define ace_reg_read16(ace, reg) in_le16(ace-baseaddr + reg) -#define ace_reg_readdata(ace, reg) in_be16(ace-baseaddr + reg) -#define ace_reg_read32(ace, reg) ((in_le16(ace-baseaddr + reg+2) 16) | \ - (in_le16(ace-baseaddr + reg))) -#define ace_reg_write16(ace, reg, val) out_le16(ace-baseaddr + reg, val) -#define ace_reg_writedata(ace, reg, val) out_be16(ace-baseaddr + reg, val) -#define ace_reg_write32(ace, reg, val) { \ - out_le16(ace-baseaddr + reg+2, (val) 16); \ - out_le16(ace-baseaddr + reg, val); \ - } +static u8 ace_le16_read8(void *addr) +{ + return in_8(addr); +} + +static u16 ace_le16_read16(void *addr) +{ + return in_le16(addr); +} + +static u32 ace_le16_read32(void *addr) +{ + return ((in_le16(addr+2) 16) | (in_le16(addr))); +} + +static u32 ace_le16_readdata(void *addr) +{ + return in_be16(addr); +} + +static void ace_le16_write16(void *addr, u16 val) +{ + out_le16(addr, val); +} + +static void ace_le16_write32(void *addr, u32 val) +{ + out_le16(addr+2,(val) 16); \ + out_le16(addr, val); +} + +static void ace_le16_writedata(void *addr, u32 val) +{ + out_be16(addr, val); +} + +static struct reg_ops ace_ops = { + .read8 = ace_le16_read8, + .read16 = ace_le16_read16, + .read32 = ace_le16_read32, + .readdata = ace_le16_readdata, + .write16 = ace_le16_write16, + .write32 = ace_le16_write32, + .writedata =ace_le16_writedata +} ; + #else /* Big endian 16-bit regs */ -#define ace_reg_read8(ace, reg) in_8(ace-baseaddr + reg) -#define ace_reg_read16(ace, reg) in_be16(ace-baseaddr + reg) -#define ace_reg_readdata(ace, reg) in_le16(ace-baseaddr + reg) -#define ace_reg_read32(ace, reg) ((in_be16(ace-baseaddr + reg+2) 16) | \ - (in_be16(ace-baseaddr + reg))) -#define ace_reg_write16(ace, reg, val) out_be16(ace-baseaddr + reg, val) -#define ace_reg_writedata(ace, reg, val) out_le16(ace-baseaddr + reg, val) -#define ace_reg_write32(ace, reg, val
Re: [RFC] SystemACE driver - abstract register ops
On Friday 27 April 2007 09:31, Grant Likely wrote: For your reading pleasure, I've attached the bus attachment changes that I've made in my tree. I hope to get this driver accepted into mainline during the 2.6.22 merge window; so please get any comments you have back to me ASAP. Works fine on my Katmai 440SPe system with SysACE connected in 16bit big-endian mode. Thanks. Acked-by Stefan Roese [EMAIL PROTECTED] Best regards, Stefan ___ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
SystemAce Driver.
Hi Sudheer, Ah! I never did the test for polled mode. There might be issue with that. Will have a look -Ameet sudheer wrote: Hi Ameet Patil Ameet Patil wrote: Hi Sudheer, Frank has already answered your questions. If you have any problems with the SysAce patch... do let me know. I have written a small tutorial here if it helps... I have used your SystemAce patch with linux-2.6.16-2. The kernel gets loaded with the ace module and is fine. I want the driver in polling mode. So i have commented few lines related to interrupt in the adapter.c file- xsysace_init function. When i give the fdisk command, it gives few errors and then enters to the fdisk commad promt. It prints the partitions, etc. But when i try to quit from the fdisk, it hangs. I am not able to complete the request properly (i guess in xsa_thread function in adapter.c file) The dump is as follows: SystemACE: Error 1 when reading sector 60. end_request: I/O error, dev xsa, sector 56 SystemACE: Error 1351 when reading sector 62. end_request: I/O error, dev xsa, sector 56 Command (m for help): p Disk /dev/xsysace: 512 MB, 512483328 bytes 16 heads, 62 sectors/track, 1009 cylinders Units = cylinders of 992 * 512 = 507904 bytes Device Boot Start End Blocks Id System /dev/xsysace1 1 1009 500433 6 FAT16 Command (m for help): q --- The fdisk enters into xsysace_ioctl function but no commands are implemented in the ioctl function and returns an error. Please help me in this issue and let me know if any other details required. Thanks Sudheer http://linux.get2knowmore.com -Ameet sudheer wrote: Hello Ameet Patil I am looking for linux kernel source 2.6.16 with system ace controller support. I downloaded the linux-2.6.16 and linux-2.6.17-1 source from kernel.org but could not find any files related to system ace controller ( No xilinx_sysace directory in drivers/block/) . I have checked penguinppc.org also but could not get it. Can you please send to me the link where i could download the linuxppc-2.6.16 source with system ace support. Thanks Regards Sudheer Ameet Patil wrote: Hi Raja, I have ported the Xilinx System ACE driver to 2.6 kernel. Find the latest one here: http://www.cs.york.ac.uk/rtslab/demos/amos/xupv2pro/patches/linuxppc-2.6.17.1-sysace-1.2.patch NOTE: this patch wouldn't work if you are using the TEMAC driver. In which case use the -after-TEMAC patch found in the patches folder above. Check the following discussions (threads) for more details: 1. Xilinx SystemACE driver for 2.6 2. Xilinx BSP for linux 2.6 3. Kernel hangs after Now booting the kernel. cheers, -Ameet Raja Chidambaram wrote: Hi all, We are working on customized board with amcc 440SPe processor xilinx System Ace controller. The System Ace controller is connected to compact flash driver. We use u-boot 1.2 as bootloader linux kernel 2.6.16-2. On the process the u-boot is able to detect compact flash through Xilinx SystemAce controller able to load the kernel image into compact flash.But when the linux boot's up it not able to detect the System Ace controller or compact flash. Note:we need to have the root file system in compact flash. Is their any drivers available for SystemAce controller on linux 2.6,if their how to get it.please help me in this with regards raja __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com ___ Linuxppc-embedded mailing list Linuxppc-embedded at ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded ___ Linuxppc-embedded mailing list Linuxppc-embedded at ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
SystemAce Driver.
Hi Ameet, Today I tried the System ACE driver in interrupt mode. The driver is connected to the processor through IRQ4 . So, in xparameter_ml300.h , I have changed the #define XPAR_OPB_INTC_0_SYSACE_COMPACTFLASH_SYSACE_IRQ_INTR 4 Also, in xsysace_init, if I have xsa_device.gd = alloc_disk(16); , then the kernel hangs. So I have assigned alloc_disk(1), in which case the kernel boots-up fine. But when I issue 'fdisk / mount ', it goes through - ' XSysAce_SectorRead' which is being called from xsysace_do_request. And at the nd of the function it hangs. I couldn't trace exactly where it hangs. Could you please suggest some pointers to debug on this issue? This is very critical for us and I am held up with this issue for the last 1 week. Thanks so much for all your help. Thanks Sudheer On 9/8/06, Ameet Patil ammubhai at gmail.com wrote: Hi Sudheer, Ah! I never did the test for polled mode. There might be issue with that. Will have a look -Ameet sudheer wrote: Hi Ameet Patil Ameet Patil wrote: Hi Sudheer, Frank has already answered your questions. If you have any problems with the SysAce patch... do let me know. I have written a small tutorial here if it helps... I have used your SystemAce patch with linux-2.6.16-2. The kernel gets loaded with the ace module and is fine. I want the driver in polling mode. So i have commented few lines related to interrupt in the adapter.c file- xsysace_init function. When i give the fdisk command, it gives few errors and then enters to the fdisk commad promt. It prints the partitions, etc. But when i try to quit from the fdisk, it hangs. I am not able to complete the request properly (i guess in xsa_thread function in adapter.c file) The dump is as follows: SystemACE: Error 1 when reading sector 60. end_request: I/O error, dev xsa, sector 56 SystemACE: Error 1351 when reading sector 62. end_request: I/O error, dev xsa, sector 56 Command (m for help): p Disk /dev/xsysace: 512 MB, 512483328 bytes 16 heads, 62 sectors/track, 1009 cylinders Units = cylinders of 992 * 512 = 507904 bytes Device Boot Start End Blocks Id System /dev/xsysace1 1 1009 500433 6 FAT16 Command (m for help): q --- The fdisk enters into xsysace_ioctl function but no commands are implemented in the ioctl function and returns an error. Please help me in this issue and let me know if any other details required. Thanks Sudheer http://linux.get2knowmore.com -Ameet sudheer wrote: Hello Ameet Patil I am looking for linux kernel source 2.6.16 with system ace controller support. I downloaded the linux-2.6.16 and linux-2.6.17-1 source from kernel.org but could not find any files related to system ace controller ( No xilinx_sysace directory in drivers/block/) . I have checked penguinppc.org also but could not get it. Can you please send to me the link where i could download the linuxppc-2.6.16 source with system ace support. Thanks Regards Sudheer Ameet Patil wrote: Hi Raja, I have ported the Xilinx System ACE driver to 2.6 kernel. Find the latest one here: http://www.cs.york.ac.uk/rtslab/demos/amos/xupv2pro/patches/linuxppc-2.6.17.1-sysace-1.2.patch NOTE: this patch wouldn't work if you are using the TEMAC driver. In which case use the -after-TEMAC patch found in the patches folder above. Check the following discussions (threads) for more details: 1. Xilinx SystemACE driver for 2.6 2. Xilinx BSP for linux 2.6 3. Kernel hangs after Now booting the kernel. cheers, -Ameet Raja Chidambaram wrote: Hi all, We are working on customized board with amcc 440SPe processor xilinx System Ace controller. The System Ace controller is connected to compact flash driver. We use u-boot 1.2 as bootloader linux kernel 2.6.16-2. On the process the u-boot is able to detect compact flash through Xilinx SystemAce controller able to load the kernel image into compact flash.But when the linux boot's up it not able to detect the System Ace controller or compact flash. Note:we need to have the root file system in compact flash. Is their any drivers available for SystemAce controller on linux 2.6,if their how to get it.please help me in this with regards raja __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com___ Linuxppc-embedded mailing list Linuxppc-embedded at ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded ___ Linuxppc-embedded mailing list Linuxppc-embedded at ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded -- next part
SystemAce Driver.
Hi Ameet Patil Ameet Patil wrote: Hi Sudheer, Frank has already answered your questions. If you have any problems with the SysAce patch... do let me know. I have written a small tutorial here if it helps... I have used your SystemAce patch with linux-2.6.16-2. The kernel gets loaded with the ace module and is fine. I want the driver in polling mode. So i have commented few lines related to interrupt in the adapter.c file- xsysace_init function. When i give the fdisk command, it gives few errors and then enters to the fdisk commad promt. It prints the partitions, etc. But when i try to quit from the fdisk, it hangs. I am not able to complete the request properly (i guess in xsa_thread function in adapter.c file) The dump is as follows: SystemACE: Error 1 when reading sector 60. end_request: I/O error, dev xsa, sector 56 SystemACE: Error 1351 when reading sector 62. end_request: I/O error, dev xsa, sector 56 Command (m for help): p Disk /dev/xsysace: 512 MB, 512483328 bytes 16 heads, 62 sectors/track, 1009 cylinders Units = cylinders of 992 * 512 = 507904 bytes Device Boot Start End Blocks Id System /dev/xsysace1 1 1009 500433 6 FAT16 Command (m for help): q --- The fdisk enters into xsysace_ioctl function but no commands are implemented in the ioctl function and returns an error. Please help me in this issue and let me know if any other details required. Thanks Sudheer http://linux.get2knowmore.com -Ameet sudheer wrote: Hello Ameet Patil I am looking for linux kernel source 2.6.16 with system ace controller support. I downloaded the linux-2.6.16 and linux-2.6.17-1 source from kernel.org but could not find any files related to system ace controller ( No xilinx_sysace directory in drivers/block/) . I have checked penguinppc.org also but could not get it. Can you please send to me the link where i could download the linuxppc-2.6.16 source with system ace support. Thanks Regards Sudheer Ameet Patil wrote: Hi Raja, I have ported the Xilinx System ACE driver to 2.6 kernel. Find the latest one here: http://www.cs.york.ac.uk/rtslab/demos/amos/xupv2pro/patches/linuxppc-2.6.17.1-sysace-1.2.patch NOTE: this patch wouldn't work if you are using the TEMAC driver. In which case use the -after-TEMAC patch found in the patches folder above. Check the following discussions (threads) for more details: 1. Xilinx SystemACE driver for 2.6 2. Xilinx BSP for linux 2.6 3. Kernel hangs after Now booting the kernel. cheers, -Ameet Raja Chidambaram wrote: Hi all, We are working on customized board with amcc 440SPe processor xilinx System Ace controller. The System Ace controller is connected to compact flash driver. We use u-boot 1.2 as bootloader linux kernel 2.6.16-2. On the process the u-boot is able to detect compact flash through Xilinx SystemAce controller able to load the kernel image into compact flash.But when the linux boot's up it not able to detect the System Ace controller or compact flash. Note:we need to have the root file system in compact flash. Is their any drivers available for SystemAce controller on linux 2.6,if their how to get it.please help me in this with regards raja __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com ___ Linuxppc-embedded mailing list Linuxppc-embedded at ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded ___ Linuxppc-embedded mailing list Linuxppc-embedded at ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
SystemAce Driver.
Hello Raja, We too are working on customized board with amcc 440SPe processor xilinx System Ace controller. The System Ace controller is connected to compact flash driver. We use u-boot 1.1.2 as bootloader linux kernel - 2.6.16-2. System ace is connected to amcc440SPE processor via GPIO and External Peripheral Bus Controller(EBC). While booting the linux, it crashes when i am trying to access(read/write) a system ace register. In the u-boot though i have support, as of now i am not doing anything with system ace as it not required now. In u-boot/include/configs/custom_board.h, i could see #define CFG_ACE_BASE0xe000 /* Xilinx ACE controller - Compact Flash */ So i have used this address in Linux driver to to ioremap to access the ace registers. Though i could do ioremap, it crashes while booting exactly when it is trying the access any ace register. I doubt with the address i have used . But could not get any clue from the docs given. I want to know how to access the system ace registers and how to get the address to ioremap. Please let me know if any details required and also if i am missing any fundamentals. Thanks Regards Sudheer sudheer wrote: Hi Ameet, Firstly, thanks for the mail. I am able to compile the linux-2.6.16 and got the ace support files with the patch. While compiling got some errors with xparameters, but am rectify them. I need to wait for the hardware to test the source. Thanks Regards Sudheer Ameet Patil wrote: Hi Sudheer, Frank has already answered your questions. If you have any problems with the SysAce patch... do let me know. I have written a small tutorial here if it helps... http://linux.get2knowmore.com -Ameet sudheer wrote: Hello Ameet Patil I am looking for linux kernel source 2.6.16 with system ace controller support. I downloaded the linux-2.6.16 and linux-2.6.17-1 source from kernel.org but could not find any files related to system ace controller ( No xilinx_sysace directory in drivers/block/) . I have checked penguinppc.org also but could not get it. Can you please send to me the link where i could download the linuxppc-2.6.16 source with system ace support. Thanks Regards Sudheer Ameet Patil wrote: Hi Raja, I have ported the Xilinx System ACE driver to 2.6 kernel. Find the latest one here: http://www.cs.york.ac.uk/rtslab/demos/amos/xupv2pro/patches/linuxppc-2.6.17.1-sysace-1.2.patch NOTE: this patch wouldn't work if you are using the TEMAC driver. In which case use the -after-TEMAC patch found in the patches folder above. Check the following discussions (threads) for more details: 1. Xilinx SystemACE driver for 2.6 2. Xilinx BSP for linux 2.6 3. Kernel hangs after Now booting the kernel. cheers, -Ameet Raja Chidambaram wrote: Hi all, We are working on customized board with amcc 440SPe processor xilinx System Ace controller. The System Ace controller is connected to compact flash driver. We use u-boot 1.2 as bootloader linux kernel 2.6.16-2. On the process the u-boot is able to detect compact flash through Xilinx SystemAce controller able to load the kernel image into compact flash.But when the linux boot's up it not able to detect the System Ace controller or compact flash. Note:we need to have the root file system in compact flash. Is their any drivers available for SystemAce controller on linux 2.6,if their how to get it.please help me in this with regards raja __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com ___ Linuxppc-embedded mailing list Linuxppc-embedded at ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded ___ Linuxppc-embedded mailing list Linuxppc-embedded at ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded ___ Linuxppc-embedded mailing list Linuxppc-embedded at ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded -- next part -- An HTML attachment was scrubbed... URL: http://ozlabs.org/pipermail/linuxppc-embedded/attachments/20060822/1646f260/attachment.htm
SystemAce Driver.
Hi Sudheer, Frank has already answered your questions. If you have any problems with the SysAce patch... do let me know. I have written a small tutorial here if it helps... http://linux.get2knowmore.com -Ameet sudheer wrote: Hello Ameet Patil I am looking for linux kernel source 2.6.16 with system ace controller support. I downloaded the linux-2.6.16 and linux-2.6.17-1 source from kernel.org but could not find any files related to system ace controller ( No xilinx_sysace directory in drivers/block/) . I have checked penguinppc.org also but could not get it. Can you please send to me the link where i could download the linuxppc-2.6.16 source with system ace support. Thanks Regards Sudheer Ameet Patil wrote: Hi Raja, I have ported the Xilinx System ACE driver to 2.6 kernel. Find the latest one here: http://www.cs.york.ac.uk/rtslab/demos/amos/xupv2pro/patches/linuxppc-2.6.17.1-sysace-1.2.patch NOTE: this patch wouldn't work if you are using the TEMAC driver. In which case use the -after-TEMAC patch found in the patches folder above. Check the following discussions (threads) for more details: 1. Xilinx SystemACE driver for 2.6 2. Xilinx BSP for linux 2.6 3. Kernel hangs after Now booting the kernel. cheers, -Ameet Raja Chidambaram wrote: Hi all, We are working on customized board with amcc 440SPe processor xilinx System Ace controller. The System Ace controller is connected to compact flash driver. We use u-boot 1.2 as bootloader linux kernel 2.6.16-2. On the process the u-boot is able to detect compact flash through Xilinx SystemAce controller able to load the kernel image into compact flash.But when the linux boot's up it not able to detect the System Ace controller or compact flash. Note:we need to have the root file system in compact flash. Is their any drivers available for SystemAce controller on linux 2.6,if their how to get it.please help me in this with regards raja __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com ___ Linuxppc-embedded mailing list Linuxppc-embedded at ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded ___ Linuxppc-embedded mailing list Linuxppc-embedded at ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
SystemAce Driver.
Hi Ameet, Firstly, thanks for the mail. I am able to compile the linux-2.6.16 and got the ace support files with the patch. While compiling got some errors with xparameters, but am rectify them. I need to wait for the hardware to test the source. Thanks Regards Sudheer Ameet Patil wrote: Hi Sudheer, Frank has already answered your questions. If you have any problems with the SysAce patch... do let me know. I have written a small tutorial here if it helps... http://linux.get2knowmore.com -Ameet sudheer wrote: Hello Ameet Patil I am looking for linux kernel source 2.6.16 with system ace controller support. I downloaded the linux-2.6.16 and linux-2.6.17-1 source from kernel.org but could not find any files related to system ace controller ( No xilinx_sysace directory in drivers/block/) . I have checked penguinppc.org also but could not get it. Can you please send to me the link where i could download the linuxppc-2.6.16 source with system ace support. Thanks Regards Sudheer Ameet Patil wrote: Hi Raja, I have ported the Xilinx System ACE driver to 2.6 kernel. Find the latest one here: http://www.cs.york.ac.uk/rtslab/demos/amos/xupv2pro/patches/linuxppc-2.6.17.1-sysace-1.2.patch NOTE: this patch wouldn't work if you are using the TEMAC driver. In which case use the -after-TEMAC patch found in the patches folder above. Check the following discussions (threads) for more details: 1. Xilinx SystemACE driver for 2.6 2. Xilinx BSP for linux 2.6 3. Kernel hangs after Now booting the kernel. cheers, -Ameet Raja Chidambaram wrote: Hi all, We are working on customized board with amcc 440SPe processor xilinx System Ace controller. The System Ace controller is connected to compact flash driver. We use u-boot 1.2 as bootloader linux kernel 2.6.16-2. On the process the u-boot is able to detect compact flash through Xilinx SystemAce controller able to load the kernel image into compact flash.But when the linux boot's up it not able to detect the System Ace controller or compact flash. Note:we need to have the root file system in compact flash. Is their any drivers available for SystemAce controller on linux 2.6,if their how to get it.please help me in this with regards raja __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com ___ Linuxppc-embedded mailing list Linuxppc-embedded at ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded ___ Linuxppc-embedded mailing list Linuxppc-embedded at ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
SystemAce Driver.
Hi Frank D Lombardo Thanks for the reply. I have done the same and got the support files for system ace. Thanks Regards Sudheer Frank D Lombardo wrote: sudheer wrote: Hello Ameet Patil I am looking for linux kernel source 2.6.16 with system ace controller support. I downloaded the linux-2.6.16 and linux-2.6.17-1 source from kernel.org but could not find any files related to system ace controller ( No xilinx_sysace directory in drivers/block/) . I have checked penguinppc.org also but could not get it. Can you please send to me the link where i could download the linuxppc-2.6.16 source with system ace support. Thanks Regards Sudheer Ameet Patil wrote: Hi Raja, I have ported the Xilinx System ACE driver to 2.6 kernel. Find the latest one here: http://www.cs.york.ac.uk/rtslab/demos/amos/xupv2pro/patches/linuxppc-2.6.17.1-sysace-1.2.patch NOTE: this patch wouldn't work if you are using the TEMAC driver. In which case use the -after-TEMAC patch found in the patches folder above. Check the following discussions (threads) for more details: 1. Xilinx SystemACE driver for 2.6 2. Xilinx BSP for linux 2.6 3. Kernel hangs after Now booting the kernel. cheers, -Ameet Raja Chidambaram wrote: Hi all, We are working on customized board with amcc 440SPe processor xilinx System Ace controller. The System Ace controller is connected to compact flash driver. We use u-boot 1.2 as bootloader linux kernel 2.6.16-2. On the process the u-boot is able to detect compact flash through Xilinx SystemAce controller able to load the kernel image into compact flash.But when the linux boot's up it not able to detect the System Ace controller or compact flash. Note:we need to have the root file system in compact flash. Is their any drivers available for SystemAce controller on linux 2.6,if their how to get it.please help me in this with regards raja __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com ___ Linuxppc-embedded mailing list Linuxppc-embedded at ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded ___ Linuxppc-embedded mailing list Linuxppc-embedded at ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded ___ Linuxppc-embedded mailing list Linuxppc-embedded at ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded Sudheer, You need to download the SystemAce patch and apply it to the 2.6.17.1 Kernel. The patch can be downloaded from: http://www.cs.york.ac.uk/rtslab/demos/amos/xupv2pro/patches/linuxppc-2.6.17.1-sysace-1.2.patch Save the patch to the root of the Kernel sources and run the following command: patch -p1 linuxppc-2.6.17.1-sysace-1.2.patch Frank http://www.cs.york.ac.uk/rtslab/demos/amos/xupv2pro/patches/linuxppc-2.6.17.1-sysace-1.2.patch // //
SystemAce Driver.
Hi all, We are working on customized board with amcc 440SPe processor xilinx System Ace controller. The System Ace controller is connected to compact flash driver. We use u-boot 1.2 as bootloader linux kernel 2.6.16-2. On the process the u-boot is able to detect compact flash through Xilinx SystemAce controller able to load the kernel image into compact flash.But when the linux boot's up it not able to detect the System Ace controller or compact flash. Note:we need to have the root file system in compact flash. Is their any drivers available for SystemAce controller on linux 2.6,if their how to get it.please help me in this with regards raja __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com
SystemAce Driver.
Hi, https://www.cs.york.ac.uk/rtslab/demos/amos/xupv2pro/patches/linuxppc-2.6.17.1-sysace-1.2-after-TEMAC.patch This is one which could work well with Temac driver. Regards Ming From: Raja Chidambaram raja_chidambaram82 at yahoo.com To: linuxppc-embedded at ozlabs.org Subject: RE:SystemAce Driver. Date: Mon, 24 Jul 2006 05:14:52 -0700 (PDT) Hi all, We are working on customized board with amcc 440SPe processor xilinx System Ace controller. The System Ace controller is connected to compact flash driver. We use u-boot 1.2 as bootloader linux kernel 2.6.16-2. On the process the u-boot is able to detect compact flash through Xilinx SystemAce controller able to load the kernel image into compact flash.But when the linux boot's up it not able to detect the System Ace controller or compact flash. Note:we need to have the root file system in compact flash. Is their any drivers available for SystemAce controller on linux 2.6,if their how to get it.please help me in this with regards raja __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com ___ Linuxppc-embedded mailing list Linuxppc-embedded at ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded _ ?? MSN Messenger: http://messenger.msn.com/cn
SystemAce Driver.
Hi Raja, I have ported the Xilinx System ACE driver to 2.6 kernel. Find the latest one here: http://www.cs.york.ac.uk/rtslab/demos/amos/xupv2pro/patches/linuxppc-2.6.17.1-sysace-1.2.patch NOTE: this patch wouldn't work if you are using the TEMAC driver. In which case use the -after-TEMAC patch found in the patches folder above. Check the following discussions (threads) for more details: 1. Xilinx SystemACE driver for 2.6 2. Xilinx BSP for linux 2.6 3. Kernel hangs after Now booting the kernel. cheers, -Ameet Raja Chidambaram wrote: Hi all, We are working on customized board with amcc 440SPe processor xilinx System Ace controller. The System Ace controller is connected to compact flash driver. We use u-boot 1.2 as bootloader linux kernel 2.6.16-2. On the process the u-boot is able to detect compact flash through Xilinx SystemAce controller able to load the kernel image into compact flash.But when the linux boot's up it not able to detect the System Ace controller or compact flash. Note:we need to have the root file system in compact flash. Is their any drivers available for SystemAce controller on linux 2.6,if their how to get it.please help me in this with regards raja __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com ___ Linuxppc-embedded mailing list Linuxppc-embedded at ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
some problems on the SystemACE driver.
Hi Ming, I know this might be very tedious for you. But its the same for me especially when there is no need for me to do it. Anyway, could please do a fresh start: untar linux kernel, apply all the TEMAC patches and then apply my only 1 xx-after-TEMAC.patch I have updated the patch. Make sure you download the new one. The key is: When you compile this time the file xbasic_types.c in drivers/bloxk/xilinx_sysace/ should not be compiled. i.e. CC drivers/block/xilinx_sysace/xbasic_types.o should not be shown! Send a fresh log if this doesnot work! -Ameet Ming Liu wrote: Dear Ameet, Here is the normal log without -d when make zImage. Please check it. Waiting for your result. Have fun in the weekend. :) I appreciate you testing the patch. Don't worry... we will solve it. And I am not an expert either... you probably know more than me! Thanks for your encouraging. Let's do it! Hopefully we can finish it a.s.a.p. Good luck for us! Regards Ming _ ??? MSN Hotmail? http://www.hotmail.com CHK include/linux/version.h HOSTCC scripts/basic/fixdep HOSTCC scripts/basic/split-include HOSTCC scripts/basic/docproc HOSTCC scripts/kconfig/conf.o HOSTCC scripts/kconfig/kxgettext.o HOSTCC scripts/kconfig/mconf.o HOSTCC scripts/kconfig/zconf.tab.o HOSTLD scripts/kconfig/conf scripts/kconfig/conf -s arch/ppc/Kconfig # # using defaults found in .config # SPLIT include/linux/autoconf.h - include/config/* CC arch/ppc/kernel/asm-offsets.s GEN include/asm-ppc/asm-offsets.h HOSTCC scripts/kallsyms HOSTCC scripts/conmakehash CC init/main.o CHK include/linux/compile.h UPD include/linux/compile.h CC init/version.o CC init/do_mounts.o LD init/mounts.o CC init/initramfs.o CC init/calibrate.o LD init/built-in.o HOSTCC usr/gen_init_cpio GEN usr/initramfs_data.cpio.gz AS usr/initramfs_data.o LD usr/built-in.o AS arch/ppc/kernel/entry.o CC arch/ppc/kernel/traps.o CC arch/ppc/kernel/time.o AS arch/ppc/kernel/misc.o CC arch/ppc/kernel/setup.o CC arch/ppc/kernel/ppc_htab.o CC arch/ppc/kernel/dma-mapping.o LD arch/ppc/kernel/built-in.o AS arch/ppc/kernel/head_4xx.o LDS arch/ppc/kernel/vmlinux.lds CC arch/powerpc/kernel/semaphore.o CC arch/powerpc/kernel/cputable.o CC arch/powerpc/kernel/ptrace.o CC arch/powerpc/kernel/syscalls.o CC arch/powerpc/kernel/irq.o CC arch/powerpc/kernel/align.o CC arch/powerpc/kernel/signal_32.o CC arch/powerpc/kernel/pmc.o CC arch/powerpc/kernel/vdso.o CC arch/powerpc/kernel/init_task.o CC arch/powerpc/kernel/process.o AS arch/powerpc/kernel/systbl.o CC arch/powerpc/kernel/idle.o LDS arch/powerpc/kernel/vdso32/vdso32.lds VDSO32A arch/powerpc/kernel/vdso32/sigtramp.o VDSO32A arch/powerpc/kernel/vdso32/gettimeofday.o VDSO32A arch/powerpc/kernel/vdso32/datapage.o VDSO32A arch/powerpc/kernel/vdso32/cacheflush.o VDSO32A arch/powerpc/kernel/vdso32/note.o VDSO32L arch/powerpc/kernel/vdso32/vdso32.so AS arch/powerpc/kernel/vdso32/vdso32_wrapper.o LD arch/powerpc/kernel/vdso32/built-in.o LD arch/powerpc/kernel/built-in.o LD arch/ppc/platforms/built-in.o CC arch/ppc/mm/fault.o CC arch/ppc/mm/init.o CC arch/ppc/mm/mem_pieces.o CC arch/ppc/mm/mmu_context.o CC arch/ppc/mm/pgtable.o CC arch/ppc/mm/4xx_mmu.o LD arch/ppc/mm/built-in.o AS arch/ppc/lib/checksum.o AS arch/ppc/lib/string.o CC arch/ppc/lib/strcase.o AS arch/ppc/lib/div64.o LD arch/ppc/lib/built-in.o CC arch/ppc/syslib/xilinx_pic.o CC arch/ppc/syslib/ppc_sys.o CC arch/ppc/syslib/ppc4xx_setup.o LD arch/ppc/syslib/built-in.o AS arch/powerpc/sysdev/dcr.o LD arch/powerpc/sysdev/built-in.o CC arch/powerpc/lib/bitops.o LD arch/powerpc/lib/built-in.o CC arch/ppc/platforms/4xx/xilinx_ml403.o CC arch/ppc/platforms/4xx/virtex.o LD arch/ppc/platforms/4xx/built-in.o CC arch/powerpc/math-emu/math.o arch/powerpc/math-emu/math.c:56: warning: conflicting types for built-in function 'fabs' CC arch/powerpc/math-emu/fmr.o CC arch/powerpc/math-emu/lfd.o CC arch/powerpc/math-emu/stfd.o CC arch/powerpc/math-emu/fabs.o arch/powerpc/math-emu/fabs.c:7: warning: conflicting types for built-in function 'fabs' CC arch/powerpc/math-emu/fadd.o arch/powerpc/math-emu/fadd.c: In function `fadd': arch/powerpc/math-emu/fadd.c:31: warning: right shift count is negative arch/powerpc/math-emu/fadd.c:31: warning: left shift count = width of type arch/powerpc/math-emu/fadd.c:13: warning: 'R_e' might be used uninitialized in this function
some problems on the SystemACE driver.
Dear Ameet, Good news! This time, it works well and no error during the compilation process. Finally we solved this sucking problem! Congratulations to us! I have tried the kernel. It works well for the SystemACE driver, although I have not successfully made Temac work well. It shows that the network is disconnected and there is no device symbol in /dev directory. I think I should make this device in /dev manually and make it recognizable for Linux, right? If any guidance, please feel free to tell me. Thanks in advance. I know this might be very tedious for you. But its the same for me especially when there is no need for me to do it. I will not feel it tedious because 1. in this process I can learn a lot; 2. it's really useful for me. :-) So I would like to consume time on that. Also, you are really helpful for my project. So if possible, I would like to cooperate with you and do something meanningful together. Thanks again for all your help and hard work recently. Regards Ming _ ??? MSN Hotmail? http://www.hotmail.com
some problems on the SystemACE driver.
Hi Ming, Can you send me the entire text output (in a file) of the compilation process with errors? -Ameet Ming Liu wrote: Dear Ameet, 1. Which TEMAC patch are you using? (http://source.mvista.com/~ank/paulus-powerpc/20060309/ppc32_xilinx_edk_temac.patch) There are five patches in the directory 20060309 whose address is listed above by you. I applied all of them in my system, because without any there will be problems. 2. After applying the patch, is the driver getting compiled directly without having to select it via make menuconfig? No. there is an option named xilinx 10/100/1000 Mbit TEMAC support in the menuconfig. I must select it and then compile the kernel. 3. I don't see a Makefile in the drivers/net/xilinx_temac/ folder? I have checked. In my kernel, there is the Makefile. I don't know why this happened to you. Let me describe the detailed process I did. First, download the kernel 2.6.17.1 (or 2.6.16-rc5). Then apply the five patches for Temac.(If I use 2.6.17.1, I need to upgrade some files manually. For 2.6.16, there is no problem.) And then apply the patch for SystemACE. Also copy and replace the xparameters_ml403.h by my own file generated by EDK. Then make menuconfig, selecting both Temac and SystemACE and other basic options. Then make dep and make zImage. During this process, I need to modify some little problems which are about the inclusion of some header files, or specify some lib inclusion directories instead. Then that problem appears. There are some main points: 1. configured for ml403 board. 2.both Temac and SystemACE are selected. 3. 5 patches for Temac and 1 patch for SystemACE. 4. linux version is 2.6.17 or 2.6.16. I really have no idea why this still happens after your modification. So I have to ask you again. Ofcourse, I can work my way to compile the driver. But is there any doc. present explaining this? Sorry that there is no doc to explain this. I just did following the procedure described above. I am totally lost. The strange thing is, when I select only one of these two drivers, no problem, but if both, problem. By the way, I noticed that in the address where I get your patch, there is also a patch called linuxppc-2.6.17.1-sysace-1.0.patch which is much larger than the 1.1 one. I needn't apply the 1.0 one, right? Thanks for your hard work. Hopefully we can solve the problem. Regards Ming _ MSN Explorer: http://explorer.msn.com/lccn
some problems on the SystemACE driver.
Dear Ameet, The attached is the log file to record the error. Please unzip and search for XAssert to go to the end to see the problem. Also, the .config file is attached. Please rename the file from config into .config. The linux version is 2.6.17.1. When you compile the kernel, please remember to export C_INCLUDE_PATH=../driver/xilinx_edk. Thanks for your work. Regards Ming From: Ameet Patil ammubhai at gmail.com To: Ming Liu eemingliu at hotmail.com CC: linuxppc-embedded at ozlabs.org Subject: Re: some problems on the SystemACE driver. Date: Fri, 14 Jul 2006 12:12:36 +0100 Hi Ming, Can you send me the entire text output (in a file) of the compilation process with errors? -Ameet Ming Liu wrote: Dear Ameet, 1. Which TEMAC patch are you using? (http://source.mvista.com/~ank/paulus-powerpc/20060309/ppc32_xilinx_edk_temac.patch) There are five patches in the directory 20060309 whose address is listed above by you. I applied all of them in my system, because without any there will be problems. 2. After applying the patch, is the driver getting compiled directly without having to select it via make menuconfig? No. there is an option named xilinx 10/100/1000 Mbit TEMAC support in the menuconfig. I must select it and then compile the kernel. 3. I don't see a Makefile in the drivers/net/xilinx_temac/ folder? I have checked. In my kernel, there is the Makefile. I don't know why this happened to you. Let me describe the detailed process I did. First, download the kernel 2.6.17.1 (or 2.6.16-rc5). Then apply the five patches for Temac.(If I use 2.6.17.1, I need to upgrade some files manually. For 2.6.16, there is no problem.) And then apply the patch for SystemACE. Also copy and replace the xparameters_ml403.h by my own file generated by EDK. Then make menuconfig, selecting both Temac and SystemACE and other basic options. Then make dep and make zImage. During this process, I need to modify some little problems which are about the inclusion of some header files, or specify some lib inclusion directories instead. Then that problem appears. There are some main points: 1. configured for ml403 board. 2.both Temac and SystemACE are selected. 3. 5 patches for Temac and 1 patch for SystemACE. 4. linux version is 2.6.17 or 2.6.16. I really have no idea why this still happens after your modification. So I have to ask you again. Ofcourse, I can work my way to compile the driver. But is there any doc. present explaining this? Sorry that there is no doc to explain this. I just did following the procedure described above. I am totally lost. The strange thing is, when I select only one of these two drivers, no problem, but if both, problem. By the way, I noticed that in the address where I get your patch, there is also a patch called linuxppc-2.6.17.1-sysace-1.0.patch which is much larger than the 1.1 one. I needn't apply the 1.0 one, right? Thanks for your hard work. Hopefully we can solve the problem. Regards Ming _ MSN Explorer: http://explorer.msn.com/lccn _ MSN Explorer: http://explorer.msn.com/lccn -- next part -- An embedded and charset-unspecified text was scrubbed... Name: config Url: http://ozlabs.org/pipermail/linuxppc-embedded/attachments/20060714/1f55443b/attachment.txt -- next part -- A non-text attachment was scrubbed... Name: log.zip Type: application/x-zip-compressed Size: 602325 bytes Desc: not available Url : http://ozlabs.org/pipermail/linuxppc-embedded/attachments/20060714/1f55443b/attachment.bin
some problems on the SystemACE driver.
Ming, Had a look, both patches define the XILINX_OCP functions which is unavoidable really. I have made some changes only so that it works in your scenario. First apply the TEMAC patch and then this one: https://www.cs.york.ac.uk/rtslab/demos/amos/xupv2pro/patches/linuxppc-2.6.17.1-sysace-1.2-after-TEMAC.patch Also, I have also made some new changes to the SysAce driver patch. New version is here: https://www.cs.york.ac.uk/rtslab/demos/amos/xupv2pro/patches/linuxppc-2.6.17.1-sysace-1.2.patch No, you donot need to apply all the patches found in my patches folder. Let me know what happens? I think it should work -Ameet Ming Liu wrote: Dear Ameet, The attached is the log file to record the error. Please unzip and search for XAssert to go to the end to see the problem. Also, the .config file is attached. Please rename the file from config into .config. The linux version is 2.6.17.1. When you compile the kernel, please remember to export C_INCLUDE_PATH=../driver/xilinx_edk. Thanks for your work. Regards Ming From: Ameet Patil ammubhai at gmail.com To: Ming Liu eemingliu at hotmail.com CC: linuxppc-embedded at ozlabs.org Subject: Re: some problems on the SystemACE driver. Date: Fri, 14 Jul 2006 12:12:36 +0100 Hi Ming, Can you send me the entire text output (in a file) of the compilation process with errors? -Ameet Ming Liu wrote: Dear Ameet, 1. Which TEMAC patch are you using? (http://source.mvista.com/~ank/paulus-powerpc/20060309/ppc32_xilinx_edk_temac.patch) There are five patches in the directory 20060309 whose address is listed above by you. I applied all of them in my system, because without any there will be problems. 2. After applying the patch, is the driver getting compiled directly without having to select it via make menuconfig? No. there is an option named xilinx 10/100/1000 Mbit TEMAC support in the menuconfig. I must select it and then compile the kernel. 3. I don't see a Makefile in the drivers/net/xilinx_temac/ folder? I have checked. In my kernel, there is the Makefile. I don't know why this happened to you. Let me describe the detailed process I did. First, download the kernel 2.6.17.1 (or 2.6.16-rc5). Then apply the five patches for Temac.(If I use 2.6.17.1, I need to upgrade some files manually. For 2.6.16, there is no problem.) And then apply the patch for SystemACE. Also copy and replace the xparameters_ml403.h by my own file generated by EDK. Then make menuconfig, selecting both Temac and SystemACE and other basic options. Then make dep and make zImage. During this process, I need to modify some little problems which are about the inclusion of some header files, or specify some lib inclusion directories instead. Then that problem appears. There are some main points: 1. configured for ml403 board. 2.both Temac and SystemACE are selected. 3. 5 patches for Temac and 1 patch for SystemACE. 4. linux version is 2.6.17 or 2.6.16. I really have no idea why this still happens after your modification. So I have to ask you again. Ofcourse, I can work my way to compile the driver. But is there any doc. present explaining this? Sorry that there is no doc to explain this. I just did following the procedure described above. I am totally lost. The strange thing is, when I select only one of these two drivers, no problem, but if both, problem. By the way, I noticed that in the address where I get your patch, there is also a patch called linuxppc-2.6.17.1-sysace-1.0.patch which is much larger than the 1.1 one. I needn't apply the 1.0 one, right? Thanks for your hard work. Hopefully we can solve the problem. Regards Ming _ MSN Explorer: http://explorer.msn.com/lccn _ MSN Explorer: http://explorer.msn.com/lccn # # Automatically generated make config: don't edit # Linux kernel version: 2.6.17.1 # Fri Jul 14 15:00:57 2006 # CONFIG_MMU=y CONFIG_GENERIC_HARDIRQS=y CONFIG_RWSEM_XCHGADD_ALGORITHM=y CONFIG_GENERIC_HWEIGHT=y CONFIG_GENERIC_CALIBRATE_DELAY=y CONFIG_PPC=y CONFIG_PPC32=y CONFIG_GENERIC_NVRAM=y CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y CONFIG_ARCH_MAY_HAVE_PC_FDC=y # # Code maturity level options # CONFIG_EXPERIMENTAL=y CONFIG_BROKEN_ON_SMP=y CONFIG_INIT_ENV_ARG_LIMIT=32 # # General setup # CONFIG_LOCALVERSION= CONFIG_LOCALVERSION_AUTO=y CONFIG_SWAP=y CONFIG_SYSVIPC=y # CONFIG_POSIX_MQUEUE is not set # CONFIG_BSD_PROCESS_ACCT is not set CONFIG_SYSCTL=y # CONFIG_AUDIT is not set # CONFIG_IKCONFIG is not set # CONFIG_RELAY is not set CONFIG_INITRAMFS_SOURCE= CONFIG_CC_OPTIMIZE_FOR_SIZE=y # CONFIG_EMBEDDED is not set CONFIG_KALLSYMS=y # CONFIG_KALLSYMS_ALL is not set # CONFIG_KALLSYMS_EXTRA_PASS is not set CONFIG_HOTPLUG=y CONFIG_PRINTK=y CONFIG_BUG=y
some problems on the SystemACE driver.
Dear Ameet, I am not so clear with your email. First, I have a question about the patch linuxppc-2.6.17.1-sysace-1.2-after-TEMAC.patch. I noticed that in this patch, there are some modifications to the file xparameters_ml300.h. In my senario, I configure the platform as ml403 and use xparameters_ml403.h (copy from EDK BSP and rename the file xparameters_ml300.h as xparameters_ml403.h). Do you mean to modify the ml403 file, right? Second, after I patch linuxppc-2.6.17.1-sysace-1.2-after-TEMAC.patch, I needn't patch linuxppc-2.6.17.1-sysace-1.2.patch any more, right? I compared the two patch files and found that the only difference between them is in linuxppc-2.6.17.1-sysace-1.2.patch, there are some modifications to do with the file adapter.c.old while in linuxppc-2.6.17.1-sysace-1.2-after-TEMAC.patch there isn't. I don't think the file adapter.c.old has something to do with the kernel compilation. I tried the new patches in such a procedure: download the kernel, apply the five Temac patches, apply the patch linuxppc-2.6.17.1-sysace-1.2-after-TEMAC.patch, copy and replace xparameters_ml403.h and use the one generated by EDK (I don't know if this is right. But there is really no modification in your patch for the ml403 xparameters file.). Then make menuconfig, make dep and make zImage. Still the same problem as former. Is there any problem in the sequence according to which I applied the patches? Or other problems? But why the problem still happened? If I made a wrong operation, please forgive me because I am a novice. That's why I would like to describe the procedure as detailed as possible. Also, please check it again to solve the problem. Thanks for your hard work. Regards Ming From: Ameet Patil ammubhai at gmail.com To: Ming Liu eemingliu at hotmail.com CC: linuxppc-embedded at ozlabs.org Subject: Re: some problems on the SystemACE driver. Date: Fri, 14 Jul 2006 16:10:54 +0100 Ming, Had a look, both patches define the XILINX_OCP functions which is unavoidable really. I have made some changes only so that it works in your scenario. First apply the TEMAC patch and then this one: https://www.cs.york.ac.uk/rtslab/demos/amos/xupv2pro/patches/linuxppc-2.6.17.1-sysace-1.2-after-TEMAC.patch Also, I have also made some new changes to the SysAce driver patch. New version is here: https://www.cs.york.ac.uk/rtslab/demos/amos/xupv2pro/patches/linuxppc-2.6.17.1-sysace-1.2.patch No, you donot need to apply all the patches found in my patches folder. Let me know what happens? I think it should work -Ameet Ming Liu wrote: Dear Ameet, The attached is the log file to record the error. Please unzip and search for XAssert to go to the end to see the problem. Also, the .config file is attached. Please rename the file from config into .config. The linux version is 2.6.17.1. When you compile the kernel, please remember to export C_INCLUDE_PATH=../driver/xilinx_edk. Thanks for your work. Regards Ming From: Ameet Patil ammubhai at gmail.com To: Ming Liu eemingliu at hotmail.com CC: linuxppc-embedded at ozlabs.org Subject: Re: some problems on the SystemACE driver. Date: Fri, 14 Jul 2006 12:12:36 +0100 Hi Ming, Can you send me the entire text output (in a file) of the compilation process with errors? -Ameet Ming Liu wrote: Dear Ameet, 1. Which TEMAC patch are you using? (http://source.mvista.com/~ank/paulus-powerpc/20060309/ppc32_xilinx_edk_temac.patch) There are five patches in the directory 20060309 whose address is listed above by you. I applied all of them in my system, because without any there will be problems. 2. After applying the patch, is the driver getting compiled directly without having to select it via make menuconfig? No. there is an option named xilinx 10/100/1000 Mbit TEMAC support in the menuconfig. I must select it and then compile the kernel. 3. I don't see a Makefile in the drivers/net/xilinx_temac/ folder? I have checked. In my kernel, there is the Makefile. I don't know why this happened to you. Let me describe the detailed process I did. First, download the kernel 2.6.17.1 (or 2.6.16-rc5). Then apply the five patches for Temac.(If I use 2.6.17.1, I need to upgrade some files manually. For 2.6.16, there is no problem.) And then apply the patch for SystemACE. Also copy and replace the xparameters_ml403.h by my own file generated by EDK. Then make menuconfig, selecting both Temac and SystemACE and other basic options. Then make dep and make zImage. During this process, I need to modify some little problems which are about the inclusion of some header files, or specify some lib inclusion directories instead. Then that problem appears. There are some main points: 1. configured for ml403 board. 2.both Temac and SystemACE are selected. 3. 5 patches for Temac and 1 patch for SystemACE. 4. linux
some problems on the SystemACE driver.
Dear Ameet, Have you seen the response I sent to you last night? The content is that there is still the same problem in the newly updated patch for SystemACE. I forgot to CC a copy to the maillist so I don't know if you have received it. I don't mean to push you. :) Any progress on the patch? If yes, please tell me a.s.a.p. and I am anxious for testing it. Regards Ming From: Ameet Patil ammubhai at gmail.com To: Ming Liu eemingliu at hotmail.com CC: akonovalov at ru.mvista.com, linuxppc-embedded at ozlabs.org Subject: Re: some problems on the SystemACE driver. Date: Wed, 12 Jul 2006 19:22:08 +0100 Hi Ming, Thanks for testing the driver patch! The errors you get when compiling both - SysAce and TEMAC are reasonable. My ignorance or call it me being lazy. I recollect now... I was also working on the Xilinx Ethernet driver and forgot to cleanup that code before creating the patch for the SysAce driver. Thus, it so happens that code for the ethernet driver in my patch also gets compiled along with the TEMAC. I have deleted the unnecessary code files and updated the patch (name changed). Find the new one here: https://www.cs.york.ac.uk/rtslab/demos/amos/xupv2pro/patches/linuxppc-2.6.17.1-sysace-1.1.patch Let me know if it works for you now? -Ameet Ming Liu wrote: Dear Ameet (and Andrei), I have tested the new patch for SystemACE driver. With respect to the single SystemACE driver, it works well. I can boot my linux in ML403 board. (I tried both 2.6.16-rc5 and 2.6.17.1 versions) So first congratulations and thanks for your hard work! However, when I tried to implemented Temac (with and without SystemACE. TWO conditions.), some errors happened. Here is the compilation information: CC init/do_mounts.o LD init/mounts.o CC init/initramfs.o LD init/built-in.o LD .tmp_vmlinux1 drivers/built-in.o(.sdata+0x2c): multiple definition of `XWaitInAssert' arch/ppc/platforms/4xx/built-in.o(.sdata+0x0): first defined here drivers/built-in.o(.text+0x3e480): In function `XPacketFifoV200a_WriteDre': : multiple definition of `XPacketFifoV200a_WriteDre' arch/ppc/platforms/4xx/built-in.o(.text+0x1b14): first defined here drivers/built-in.o(.text+0x3e158): In function `XPacketFifoV200a_SelfTest': : multiple definition of `XPacketFifoV200a_SelfTest' arch/ppc/platforms/4xx/built-in.o(.text+0x17ec): first defined here drivers/built-in.o(.sbss+0x18c): multiple definition of `XAssertStatus' arch/ppc/platforms/4xx/built-in.o(.sbss+0x8): first defined here drivers/built-in.o(.text+0x3e798): In function `XPacketFifoV200a_L0Write': : multiple definition of `XPacketFifoV200a_L0Write' arch/ppc/platforms/4xx/built-in.o(.text+0x1e2c): first defined here drivers/built-in.o(.text+0x3e280): In function `XPacketFifoV200a_Read': : multiple definition of `XPacketFifoV200a_Read' arch/ppc/platforms/4xx/built-in.o(.text+0x1914): first defined here drivers/built-in.o(.text+0x3e55c): In function `XPacketFifoV200a_L0Read': : multiple definition of `XPacketFifoV200a_L0Read' arch/ppc/platforms/4xx/built-in.o(.text+0x1bf0): first defined here drivers/built-in.o(.text+0x3e380): In function `XPacketFifoV200a_Write': : multiple definition of `XPacketFifoV200a_Write' arch/ppc/platforms/4xx/built-in.o(.text+0x1a14): first defined here drivers/built-in.o(.text+0x3e0cc): In function `XAssertSetCallback': : multiple definition of `XAssertSetCallback' arch/ppc/platforms/4xx/built-in.o(.text+0x44): first defined here drivers/built-in.o(.text+0x3e9fc): In function `XPacketFifoV200a_L0WriteDre': : multiple definition of `XPacketFifoV200a_L0WriteDre' arch/ppc/platforms/4xx/built-in.o(.text+0x2090): first defined here drivers/built-in.o(.text+0x3e0dc): In function `XPacketFifoV200a_Initialize': : multiple definition of `XPacketFifoV200a_Initialize' arch/ppc/platforms/4xx/built-in.o(.text+0x1770): first defined here drivers/built-in.o(.text+0x3e088): In function `XAssert': : multiple definition of `XAssert' arch/ppc/platforms/4xx/built-in.o(.text+0x0): first defined here drivers/built-in.o(.text+0x3e0d8): In function `XNullHandler': : multiple definition of `XNullHandler' arch/ppc/platforms/4xx/built-in.o(.text+0x50): first defined here make: *** [.tmp_vmlinux1] Error 1 It looks like that your patch affect some symbols which are used by Temac. (When I use the old patch for SystemACE, there is no problem like this if I only choose Temac. ) So let's find out the problem together. Also, I don't know if this is a problem from SystemACE or Temac , I would like to invite Andrei to look at this altogether. If any suggestion, please feel free to announce. Thanks for both your help. Regards Ming From: Ameet Patil ammubhai at gmail.com To: Ming Liu eemingliu at hotmail.com CC: linuxppc-embedded at ozlabs.org Subject: Re: some problems on the SystemACE driver. Date: Wed, 12 Jul 2006 10:54:13
some problems on the SystemACE driver.
Hi Ming, Instead of bouncing emails to and forth, lets do all at one place: 1. Which TEMAC patch are you using? (http://source.mvista.com/~ank/paulus-powerpc/20060309/ppc32_xilinx_edk_temac.patch) 2. After applying the patch, is the driver getting compiled directly without having to select it via make menuconfig? 3. I don't see a Makefile in the drivers/net/xilinx_temac/ folder? Ofcourse, I can work my way to compile the driver. But is there any doc. present explaining this? -Ameet Ming Liu wrote: Dear Ameet, Unfortunately, I tried the new patch and the same problem happened. Here is the information: CC drivers/xilinx_edk/xdmav2_simple.o LD drivers/xilinx_edk/built-in.o LD drivers/built-in.o drivers/xilinx_edk/built-in.o(.sdata+0x0): In function `XAssert': drivers/xilinx_edk/xbasic_types.c:105: multiple definition of `XWaitInAssert' drivers/block/built-in.o(.sdata+0x4):drivers/block/rd.c:103: first defined here drivers/xilinx_edk/built-in.o(.sbss+0x4): In function `XAssert': drivers/xilinx_edk/xbasic_types.c:105: multiple definition of `XAssertStatus' drivers/block/built-in.o(.sbss+0x3c):include/asm-generic/bitops/non-atomic.h:108 : first defined here drivers/xilinx_edk/built-in.o(.text+0x44): In function `XAssertSetCallback': drivers/xilinx_edk/xbasic_types.c:134: multiple definition of `XAssertSetCallbac k' drivers/block/built-in.o(.text+0x38d0):drivers/block/xilinx_sysace/xbasic_types. c:117: first defined here drivers/xilinx_edk/built-in.o(.text+0x0): In function `XAssert': drivers/xilinx_edk/xbasic_types.c:105: multiple definition of `XAssert' drivers/block/built-in.o(.text+0x388c):drivers/block/xilinx_sysace/xbasic_types. c:87: first defined here drivers/xilinx_edk/built-in.o(.text+0x50): In function `XNullHandler': drivers/xilinx_edk/xbasic_types.c:153: multiple definition of `XNullHandler' drivers/block/built-in.o(.text+0x38dc):drivers/block/xilinx_sysace/xbasic_types. c:136: first defined here make[1]: *** [drivers/built-in.o] Error 1 make: *** [drivers] Error 2 This time I only tried on linux 2.6.17.1 version. Please check again and modify it. Thank you. Regards Ming From: Ameet Patil ammubhai at gmail.com To: Ming Liu eemingliu at hotmail.com CC: akonovalov at ru.mvista.com, linuxppc-embedded at ozlabs.org Subject: Re: some problems on the SystemACE driver. Date: Wed, 12 Jul 2006 19:22:08 +0100 Hi Ming, Thanks for testing the driver patch! The errors you get when compiling both - SysAce and TEMAC are reasonable. My ignorance or call it me being lazy. I recollect now... I was also working on the Xilinx Ethernet driver and forgot to cleanup that code before creating the patch for the SysAce driver. Thus, it so happens that code for the ethernet driver in my patch also gets compiled along with the TEMAC. I have deleted the unnecessary code files and updated the patch (name changed). Find the new one here: https://www.cs.york.ac.uk/rtslab/demos/amos/xupv2pro/patches/linuxppc-2.6.17.1-sysace-1.1.patch Let me know if it works for you now? -Ameet Ming Liu wrote: Dear Ameet (and Andrei), I have tested the new patch for SystemACE driver. With respect to the single SystemACE driver, it works well. I can boot my linux in ML403 board. (I tried both 2.6.16-rc5 and 2.6.17.1 versions) So first congratulations and thanks for your hard work! However, when I tried to implemented Temac (with and without SystemACE. TWO conditions.), some errors happened. Here is the compilation information: CC init/do_mounts.o LD init/mounts.o CC init/initramfs.o LD init/built-in.o LD .tmp_vmlinux1 drivers/built-in.o(.sdata+0x2c): multiple definition of `XWaitInAssert' arch/ppc/platforms/4xx/built-in.o(.sdata+0x0): first defined here drivers/built-in.o(.text+0x3e480): In function `XPacketFifoV200a_WriteDre': : multiple definition of `XPacketFifoV200a_WriteDre' arch/ppc/platforms/4xx/built-in.o(.text+0x1b14): first defined here drivers/built-in.o(.text+0x3e158): In function `XPacketFifoV200a_SelfTest': : multiple definition of `XPacketFifoV200a_SelfTest' arch/ppc/platforms/4xx/built-in.o(.text+0x17ec): first defined here drivers/built-in.o(.sbss+0x18c): multiple definition of `XAssertStatus' arch/ppc/platforms/4xx/built-in.o(.sbss+0x8): first defined here drivers/built-in.o(.text+0x3e798): In function `XPacketFifoV200a_L0Write': : multiple definition of `XPacketFifoV200a_L0Write' arch/ppc/platforms/4xx/built-in.o(.text+0x1e2c): first defined here drivers/built-in.o(.text+0x3e280): In function `XPacketFifoV200a_Read': : multiple definition of `XPacketFifoV200a_Read' arch/ppc/platforms/4xx/built-in.o(.text+0x1914): first defined here drivers/built-in.o(.text+0x3e55c): In function `XPacketFifoV200a_L0Read': : multiple definition of `XPacketFifoV200a_L0Read' arch/ppc/platforms/4xx/built-in.o
some problems on the SystemACE driver.
Dear Ameet (and Andrei), I have tested the new patch for SystemACE driver. With respect to the single SystemACE driver, it works well. I can boot my linux in ML403 board. (I tried both 2.6.16-rc5 and 2.6.17.1 versions) So first congratulations and thanks for your hard work! However, when I tried to implemented Temac (with and without SystemACE. TWO conditions.), some errors happened. Here is the compilation information: CC init/do_mounts.o LD init/mounts.o CC init/initramfs.o LD init/built-in.o LD .tmp_vmlinux1 drivers/built-in.o(.sdata+0x2c): multiple definition of `XWaitInAssert' arch/ppc/platforms/4xx/built-in.o(.sdata+0x0): first defined here drivers/built-in.o(.text+0x3e480): In function `XPacketFifoV200a_WriteDre': : multiple definition of `XPacketFifoV200a_WriteDre' arch/ppc/platforms/4xx/built-in.o(.text+0x1b14): first defined here drivers/built-in.o(.text+0x3e158): In function `XPacketFifoV200a_SelfTest': : multiple definition of `XPacketFifoV200a_SelfTest' arch/ppc/platforms/4xx/built-in.o(.text+0x17ec): first defined here drivers/built-in.o(.sbss+0x18c): multiple definition of `XAssertStatus' arch/ppc/platforms/4xx/built-in.o(.sbss+0x8): first defined here drivers/built-in.o(.text+0x3e798): In function `XPacketFifoV200a_L0Write': : multiple definition of `XPacketFifoV200a_L0Write' arch/ppc/platforms/4xx/built-in.o(.text+0x1e2c): first defined here drivers/built-in.o(.text+0x3e280): In function `XPacketFifoV200a_Read': : multiple definition of `XPacketFifoV200a_Read' arch/ppc/platforms/4xx/built-in.o(.text+0x1914): first defined here drivers/built-in.o(.text+0x3e55c): In function `XPacketFifoV200a_L0Read': : multiple definition of `XPacketFifoV200a_L0Read' arch/ppc/platforms/4xx/built-in.o(.text+0x1bf0): first defined here drivers/built-in.o(.text+0x3e380): In function `XPacketFifoV200a_Write': : multiple definition of `XPacketFifoV200a_Write' arch/ppc/platforms/4xx/built-in.o(.text+0x1a14): first defined here drivers/built-in.o(.text+0x3e0cc): In function `XAssertSetCallback': : multiple definition of `XAssertSetCallback' arch/ppc/platforms/4xx/built-in.o(.text+0x44): first defined here drivers/built-in.o(.text+0x3e9fc): In function `XPacketFifoV200a_L0WriteDre': : multiple definition of `XPacketFifoV200a_L0WriteDre' arch/ppc/platforms/4xx/built-in.o(.text+0x2090): first defined here drivers/built-in.o(.text+0x3e0dc): In function `XPacketFifoV200a_Initialize': : multiple definition of `XPacketFifoV200a_Initialize' arch/ppc/platforms/4xx/built-in.o(.text+0x1770): first defined here drivers/built-in.o(.text+0x3e088): In function `XAssert': : multiple definition of `XAssert' arch/ppc/platforms/4xx/built-in.o(.text+0x0): first defined here drivers/built-in.o(.text+0x3e0d8): In function `XNullHandler': : multiple definition of `XNullHandler' arch/ppc/platforms/4xx/built-in.o(.text+0x50): first defined here make: *** [.tmp_vmlinux1] Error 1 It looks like that your patch affect some symbols which are used by Temac. (When I use the old patch for SystemACE, there is no problem like this if I only choose Temac. ) So let's find out the problem together. Also, I don't know if this is a problem from SystemACE or Temac , I would like to invite Andrei to look at this altogether. If any suggestion, please feel free to announce. Thanks for both your help. Regards Ming From: Ameet Patil ammubhai at gmail.com To: Ming Liu eemingliu at hotmail.com CC: linuxppc-embedded at ozlabs.org Subject: Re: some problems on the SystemACE driver. Date: Wed, 12 Jul 2006 10:54:13 +0100 Hi Ming, I heard that you have tested this driver. Have you got this problem? Why there are so many strange problems for me while you have tested without problem? Yes, that is right! When I say... I have tested - it really means I have tested. So what's the problem? It works for me but not you? The obvious difference: mine is a ML300 configuration and yours ML403. There were some files which unknowing were made dependant on ML300 target. I have now made them compile for both targets. It should work fine for you now (Hopefully!). Download the updated patch from the same location. http://www.cs.york.ac.uk/rtslab/demos/amos/xupv2pro/patches/linuxppc-2.6.17_sysace.patch Since I don't have ML403 board, theres no way I can test this patch on it. I rely on you in doing this... and thanks for letting me know the issues. WARNING: There might be more issues. :-) Please DONOT hesitate to raise any issues with the driver. I am more than happy to fix them. -Ameet Ming Liu wrote: Dear Ameet, Sorry to bother you again but I am totally confused on the systemACE driver. First let me show you the problem. 1. I downloaded the linux kernel of 2.6.17.1, also the patch for SystemACE driver. Applied the patch to the kernel. Replaced the xparameters_ml403.h with the generated file xparameters_ml300.h from Xilinx EDK. Make menuconfig, make dep and make zImage. Then the error shows
some problems on the SystemACE driver.
Hi Ming, Thanks for testing the driver patch! The errors you get when compiling both - SysAce and TEMAC are reasonable. My ignorance or call it me being lazy. I recollect now... I was also working on the Xilinx Ethernet driver and forgot to cleanup that code before creating the patch for the SysAce driver. Thus, it so happens that code for the ethernet driver in my patch also gets compiled along with the TEMAC. I have deleted the unnecessary code files and updated the patch (name changed). Find the new one here: https://www.cs.york.ac.uk/rtslab/demos/amos/xupv2pro/patches/linuxppc-2.6.17.1-sysace-1.1.patch Let me know if it works for you now? -Ameet Ming Liu wrote: Dear Ameet (and Andrei), I have tested the new patch for SystemACE driver. With respect to the single SystemACE driver, it works well. I can boot my linux in ML403 board. (I tried both 2.6.16-rc5 and 2.6.17.1 versions) So first congratulations and thanks for your hard work! However, when I tried to implemented Temac (with and without SystemACE. TWO conditions.), some errors happened. Here is the compilation information: CC init/do_mounts.o LD init/mounts.o CC init/initramfs.o LD init/built-in.o LD .tmp_vmlinux1 drivers/built-in.o(.sdata+0x2c): multiple definition of `XWaitInAssert' arch/ppc/platforms/4xx/built-in.o(.sdata+0x0): first defined here drivers/built-in.o(.text+0x3e480): In function `XPacketFifoV200a_WriteDre': : multiple definition of `XPacketFifoV200a_WriteDre' arch/ppc/platforms/4xx/built-in.o(.text+0x1b14): first defined here drivers/built-in.o(.text+0x3e158): In function `XPacketFifoV200a_SelfTest': : multiple definition of `XPacketFifoV200a_SelfTest' arch/ppc/platforms/4xx/built-in.o(.text+0x17ec): first defined here drivers/built-in.o(.sbss+0x18c): multiple definition of `XAssertStatus' arch/ppc/platforms/4xx/built-in.o(.sbss+0x8): first defined here drivers/built-in.o(.text+0x3e798): In function `XPacketFifoV200a_L0Write': : multiple definition of `XPacketFifoV200a_L0Write' arch/ppc/platforms/4xx/built-in.o(.text+0x1e2c): first defined here drivers/built-in.o(.text+0x3e280): In function `XPacketFifoV200a_Read': : multiple definition of `XPacketFifoV200a_Read' arch/ppc/platforms/4xx/built-in.o(.text+0x1914): first defined here drivers/built-in.o(.text+0x3e55c): In function `XPacketFifoV200a_L0Read': : multiple definition of `XPacketFifoV200a_L0Read' arch/ppc/platforms/4xx/built-in.o(.text+0x1bf0): first defined here drivers/built-in.o(.text+0x3e380): In function `XPacketFifoV200a_Write': : multiple definition of `XPacketFifoV200a_Write' arch/ppc/platforms/4xx/built-in.o(.text+0x1a14): first defined here drivers/built-in.o(.text+0x3e0cc): In function `XAssertSetCallback': : multiple definition of `XAssertSetCallback' arch/ppc/platforms/4xx/built-in.o(.text+0x44): first defined here drivers/built-in.o(.text+0x3e9fc): In function `XPacketFifoV200a_L0WriteDre': : multiple definition of `XPacketFifoV200a_L0WriteDre' arch/ppc/platforms/4xx/built-in.o(.text+0x2090): first defined here drivers/built-in.o(.text+0x3e0dc): In function `XPacketFifoV200a_Initialize': : multiple definition of `XPacketFifoV200a_Initialize' arch/ppc/platforms/4xx/built-in.o(.text+0x1770): first defined here drivers/built-in.o(.text+0x3e088): In function `XAssert': : multiple definition of `XAssert' arch/ppc/platforms/4xx/built-in.o(.text+0x0): first defined here drivers/built-in.o(.text+0x3e0d8): In function `XNullHandler': : multiple definition of `XNullHandler' arch/ppc/platforms/4xx/built-in.o(.text+0x50): first defined here make: *** [.tmp_vmlinux1] Error 1 It looks like that your patch affect some symbols which are used by Temac. (When I use the old patch for SystemACE, there is no problem like this if I only choose Temac. ) So let's find out the problem together. Also, I don't know if this is a problem from SystemACE or Temac , I would like to invite Andrei to look at this altogether. If any suggestion, please feel free to announce. Thanks for both your help. Regards Ming From: Ameet Patil ammubhai at gmail.com To: Ming Liu eemingliu at hotmail.com CC: linuxppc-embedded at ozlabs.org Subject: Re: some problems on the SystemACE driver. Date: Wed, 12 Jul 2006 10:54:13 +0100 Hi Ming, I heard that you have tested this driver. Have you got this problem? Why there are so many strange problems for me while you have tested without problem? Yes, that is right! When I say... I have tested - it really means I have tested. So what's the problem? It works for me but not you? The obvious difference: mine is a ML300 configuration and yours ML403. There were some files which unknowing were made dependant on ML300 target. I have now made them compile for both targets. It should work fine for you now (Hopefully!). Download the updated patch from the same location. http://www.cs.york.ac.uk/rtslab/demos/amos/xupv2pro/patches
some problems on the SystemACE driver.
Dear Ameet, Sorry to bother you again but I am totally confused on the systemACE driver. First let me show you the problem. 1. I downloaded the linux kernel of 2.6.17.1, also the patch for SystemACE driver. Applied the patch to the kernel. Replaced the xparameters_ml403.h with the generated file xparameters_ml300.h from Xilinx EDK. Make menuconfig, make dep and make zImage. Then the error shows like this: drivers/block/xilinx_sysace/xsysace.c:120:6: warning: XPAR_XSYSACE_MEM_WIDTH is not defined drivers/block/xilinx_sysace/xsysace.c: In function `XSysAce_LookupConfig': drivers/block/xilinx_sysace/xsysace.c:366: error: `XPAR_XSYSACE_NUM_INSTANCES' undeclared (first use in this function) drivers/block/xilinx_sysace/xsysace.c:366: error: (Each undeclared identifier is reported only once drivers/block/xilinx_sysace/xsysace.c:366: error: for each function it appears in.) make[3]: *** [drivers/block/xilinx_sysace/xsysace.o] Error 1 make[2]: *** [drivers/block/xilinx_sysace] Error 2 make[1]: *** [drivers/block] Error 2 make: *** [drivers] Error 2 I think this is because of the no inclusion of the xparameters header file. So I change #include xparameters.h into #include /home/mingliu/linux-2.6.17.1/arch/ppc/platforms/4xx/xparameters/xparameters.h in the files of xsysace.c and xsysace_g.c, using the full address to specify the header file. In fact, this is not a serious problem and it often happens. But, after the modification, another problem happened: GEN .version CHK include/linux/compile.h UPD include/linux/compile.h CC init/version.o LD init/built-in.o LD .tmp_vmlinux1 drivers/built-in.o(.text+0x2234a): In function `XSysAce_GetCfgAddr': : undefined reference to `XAssertStatus' drivers/built-in.o(.text+0x2235e): In function `XSysAce_GetCfgAddr': : undefined reference to `XAssertStatus' drivers/built-in.o(.text+0x22364): In function `XSysAce_GetCfgAddr': : undefined reference to `XAssert' drivers/built-in.o(.text+0x22372): In function `XSysAce_GetCfgAddr': : undefined reference to `XAssertStatus' drivers/built-in.o(.text+0x2237a): In function `XSysAce_GetCfgAddr': : undefined reference to `XAssertStatus' drivers/built-in.o(.text+0x22394): In function `XSysAce_GetCfgAddr': : undefined reference to `XAssert' drivers/built-in.o(.text+0x223a2): In function `XSysAce_GetCfgAddr': : undefined reference to `XAssertStatus' drivers/built-in.o(.text+0x223aa): In function `XSysAce_GetCfgAddr': : undefined reference to `XAssertStatus' drivers/built-in.o(.text+0x22cd6): In function `XSysAce_Initialize': : undefined reference to `XAssertStatus' drivers/built-in.o(.text+0x22cdc): In function `XSysAce_Initialize': : undefined reference to `XAssert' drivers/built-in.o(.text+0x22cea): In function `XSysAce_Initialize': : undefined reference to `XAssertStatus' ..( a long information to say that undefined reference to the XAssert things.) Also, I tried this in the kernel 2.6.16-rc5. (In fact I prefer this version because the temac driver is for this version. ) The same problem happened. I checked the source code. The problem happened in the file driver/block/xilinx_sysace/adapter.c, etc. Also, the XAssert things are defined in the file arch/ppc/platforms/4xx/xilinx_ocp/xbasic_types.c. (In 2.6.16 kernel, it is also defined in driver/xilinx_edk/xbasic_types.c. There are two copies of this file. ) I think the problem is, the systemACE files cannot link together with the xbasic_types.c file. I heard that you have tested this driver. Have you got this problem? Why there are so many strange problems for me while you have tested without problem? Without the CF card, I cannot try the Temac driver and my work is totally blocked. So I have to ask for your suggestion. Really anxious for your useful guidance. Thanks a lot!! Regards Ming _ ?? MSN Messenger: http://messenger.msn.com/cn
Xilinx SystemACE driver for 2.6
Hi Grant, I totally agree with you. What you say is correct. It will definitely kill the CF card. I use a XUPV2PRO board which doesn't come with a microdrive and for my research SWAP is a must. :-) However, I shall add a NOTE in the article mentioning the same. Thanks a lot, -Ameet Grant Likely wrote: On 6/30/06, Ameet Patil ammubhai at gmail.com wrote: Here is PART I of the article: http://www.linux.get2knowmore.com/2006/06/30/quick-guide-linux-26-on-xilinx-virtex-ii-pro-boards-part-i/ Let me know if you get messages at boot time after following the above... Quick comment on your article; unless you're using a microdrive; *PLEASE* don't recommend using compact flash as swap space. Flash technology has limited write cycles (on the order of 100k to 1M cycles per block). Using it as swap is a great way to kill the lifecycle of your device. (the ML300 ships with a microdrive; the ML40x ships with a regular CF card) I know the previous article also recommends a swap partition, but Linux will happily run without swap. Cheers, g.
Xilinx SystemACE driver for 2.6
Andrei Konovalov wrote: I use this version only because I want to implement the Temac driver in the link of http://ozlabs.org/pipermail/linuxppc-embedded/2006-March/022365.html It looks that the patches are specific for that version. There is nothing special in the TEMAC driver that binds it to 2.6.16-rc5. The patch was generated against and tested with that kernel version. That's all. The patch will probably not apply cleanly to the more recent kernels. But otherwise it should work. In other words, feel free to use that TEMAC patch with the recent kernel. I am trying to get a local link version of the hard TEMAC that is part of the V4 FX FPGA working against a 2.6 Kernel. Would this be an appropriate patch for that ? Is it even close ? There are so many different Xilinx (and other) TEMACs floating around and so many permutation of those that my head is fogged in. -- Dave Lynch DLA Systems Software Development:Embedded Linux 717.627.3770 dhlii at dlasys.nethttp://www.dlasys.net fax: 1.253.369.9244Cell: 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 -- next part -- An HTML attachment was scrubbed... URL: http://ozlabs.org/pipermail/linuxppc-embedded/attachments/20060701/d9c4bd77/attachment.htm
Xilinx SystemACE driver for 2.6
Hi Ming, Ming Liu wrote: Hi friend, I have tried your patch for SystemACE. Unfortunately, it looks that I got some problem. I applied the patch and compile the kernel. There are some XPAR_... parameters defination missing. So I include the xpamameters header file( I use the xparameters_ml300 which was generated by EDK and rename it as xparameters_ml403.). Do you have a Xilinx ML403 board? Then I compiled out the kernel and change it into .ace file. When I want to boot the kernel from SystemACE, there is no information to say that the linux is booting. So I think the problem is still on the driver of SystemACE. Does your kernel boot (show messages) without the SystemACE driver? Try that first. It should boot and panic at the point where it tries to find the root fs. Once you have reached this stage, you can then include the SysAce driver. My linux version is 2.6.16-rc5. I don't think there is any issue with your kernel version apart from the fact that 2.6.16- series posed considerable problem for me when trying to configure a serial shell. The serial driver is BUGGY. So I use 2.6.17.1 (latest release). And I applied the Xilinx Temac patch in it. Is it possible for you to send me this Temac patch? So could you please give me some detailed guidance on how to successfully apply the driver for SystemACE? I am in the process of publishing a detailed article/tutorial on compiling 2.6 kernel for the Xilinx MLxxx boards. Will send you the link shortly! -Ameet Thanks a lot in advance. Regards Ming _ ?? MSN Messenger: http://messenger.msn.com/cn ___ Linuxppc-embedded mailing list Linuxppc-embedded at ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Xilinx SystemACE driver for 2.6
Hello Ameet, Do you have a Xilinx ML403 board? Yes, I have ML403 board. The reason why I rename the xparameters_ml300 as xparameters_ml403 is that EDK generates the driver for ML300(the xparameter header file is xparameters_ml300). Does your kernel boot (show messages) without the SystemACE driver? Try that first. It should boot and panic at the point where it tries to find the root fs. Once you have reached this stage, you can then include the SysAce driver. I did try that. There is also no information. At that time, I guessed that it was because of the missing of SystemACE driver.Do you think is that the problem of others, for example the kernel? Before I use 2.6 version, I have successfully booted a linux 2.4 from CF card. My linux version is 2.6.16-rc5. I don't think there is any issue with your kernel version apart from the fact that 2.6.16- series posed considerable problem for me when trying to configure a serial shell. The serial driver is BUGGY. So I use 2.6.17.1 (latest release). I use this version only because I want to implement the Temac driver in the link of http://ozlabs.org/pipermail/linuxppc-embedded/2006-March/022365.html It looks that the patches are specific for that version. Is it possible for you to send me this Temac patch? http://ozlabs.org/pipermail/linuxppc-embedded/2006-March/022365.html I am in the process of publishing a detailed article/tutorial on compiling 2.6 kernel for the Xilinx MLxxx boards. Will send you the link shortly! I am really waiting for that! Regards Ming Thanks a lot in advance. Regards Ming _ ?? MSN Messenger: http://messenger.msn.com/cn ___ Linuxppc-embedded mailing list Linuxppc-embedded at ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded _ ?? MSN Messenger: http://messenger.msn.com/cn
Xilinx SystemACE driver for 2.6
Ming Liu wrote: My linux version is 2.6.16-rc5. I don't think there is any issue with your kernel version apart from the fact that 2.6.16- series posed considerable problem for me when trying to configure a serial shell. The serial driver is BUGGY. So I use 2.6.17.1 (latest release). I use this version only because I want to implement the Temac driver in the link of http://ozlabs.org/pipermail/linuxppc-embedded/2006-March/022365.html It looks that the patches are specific for that version. There is nothing special in the TEMAC driver that binds it to 2.6.16-rc5. The patch was generated against and tested with that kernel version. That's all. The patch will probably not apply cleanly to the more recent kernels. But otherwise it should work. In other words, feel free to use that TEMAC patch with the recent kernel. Thanks, Andrei
Xilinx SystemACE driver for 2.6
Here is PART I of the article: http://www.linux.get2knowmore.com/2006/06/30/quick-guide-linux-26-on-xilinx-virtex-ii-pro-boards-part-i/ Let me know if you get messages at boot time after following the above... PART II we be posted shortly! -Ameet Ming Liu wrote: Hello Ameet, Do you have a Xilinx ML403 board? Yes, I have ML403 board. The reason why I rename the xparameters_ml300 as xparameters_ml403 is that EDK generates the driver for ML300(the xparameter header file is xparameters_ml300). Does your kernel boot (show messages) without the SystemACE driver? Try that first. It should boot and panic at the point where it tries to find the root fs. Once you have reached this stage, you can then include the SysAce driver. I did try that. There is also no information. At that time, I guessed that it was because of the missing of SystemACE driver.Do you think is that the problem of others, for example the kernel? Before I use 2.6 version, I have successfully booted a linux 2.4 from CF card. My linux version is 2.6.16-rc5. I don't think there is any issue with your kernel version apart from the fact that 2.6.16- series posed considerable problem for me when trying to configure a serial shell. The serial driver is BUGGY. So I use 2.6.17.1 (latest release). I use this version only because I want to implement the Temac driver in the link of http://ozlabs.org/pipermail/linuxppc-embedded/2006-March/022365.html It looks that the patches are specific for that version. Is it possible for you to send me this Temac patch? http://ozlabs.org/pipermail/linuxppc-embedded/2006-March/022365.html I am in the process of publishing a detailed article/tutorial on compiling 2.6 kernel for the Xilinx MLxxx boards. Will send you the link shortly! I am really waiting for that! Regards Ming Thanks a lot in advance. Regards Ming _ ?? MSN Messenger: http://messenger.msn.com/cn ___ Linuxppc-embedded mailing list Linuxppc-embedded at ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded _ ?? MSN Messenger: http://messenger.msn.com/cn
Xilinx SystemACE driver for 2.6
On 6/30/06, Ameet Patil ammubhai at gmail.com wrote: Here is PART I of the article: http://www.linux.get2knowmore.com/2006/06/30/quick-guide-linux-26-on-xilinx-virtex-ii-pro-boards-part-i/ Let me know if you get messages at boot time after following the above... Quick comment on your article; unless you're using a microdrive; *PLEASE* don't recommend using compact flash as swap space. Flash technology has limited write cycles (on the order of 100k to 1M cycles per block). Using it as swap is a great way to kill the lifecycle of your device. (the ML300 ships with a microdrive; the ML40x ships with a regular CF card) I know the previous article also recommends a swap partition, but Linux will happily run without swap. Cheers, g. -- Grant Likely, B.Sc. P.Eng. Secret Lab Technologies Ltd. grant.likely at secretlab.ca (403) 399-0195
Xilinx SystemACE driver for 2.6
Yes. I noticed that in the original demo Linux of MontaVista shipped by Xilinx for ML403, there is no swap partition. Regards Ming From: Grant Likely grant.likely at secretlab.ca To: Ameet Patil ammubhai at gmail.com CC: Ming Liu eemingliu at hotmail.com, linuxppc-embedded at ozlabs.org Subject: Re: Xilinx SystemACE driver for 2.6 Date: Fri, 30 Jun 2006 14:02:28 -0600 On 6/30/06, Ameet Patil ammubhai at gmail.com wrote: Here is PART I of the article: http://www.linux.get2knowmore.com/2006/06/30/quick-guide-linux-26-on-xilinx-virtex-ii-pro-boards-part-i/ Let me know if you get messages at boot time after following the above... Quick comment on your article; unless you're using a microdrive; *PLEASE* don't recommend using compact flash as swap space. Flash technology has limited write cycles (on the order of 100k to 1M cycles per block). Using it as swap is a great way to kill the lifecycle of your device. (the ML300 ships with a microdrive; the ML40x ships with a regular CF card) I know the previous article also recommends a swap partition, but Linux will happily run without swap. Cheers, g. -- Grant Likely, B.Sc. P.Eng. Secret Lab Technologies Ltd. grant.likely at secretlab.ca (403) 399-0195 _ ?? MSN Messenger: http://messenger.msn.com/cn
Xilinx SystemACE driver for 2.6
Hi friend, I have tried your patch for SystemACE. Unfortunately, it looks that I got some problem. I applied the patch and compile the kernel. There are some XPAR_... parameters defination missing. So I include the xpamameters header file( I use the xparameters_ml300 which was generated by EDK and rename it as xparameters_ml403.). Then I compiled out the kernel and change it into .ace file. When I want to boot the kernel from SystemACE, there is no information to say that the linux is booting. So I think the problem is still on the driver of SystemACE. My linux version is 2.6.16-rc5. And I applied the Xilinx Temac patch in it. So could you please give me some detailed guidance on how to successfully apply the driver for SystemACE? Thanks a lot in advance. Regards Ming _ ?? MSN Messenger: http://messenger.msn.com/cn
Xilinx SystemACE driver for 2.6
Hi Ameet, Your mail is not clear. Ameet Patil wrote: Hi, I have ported System Ace driver from 2.4 to 2.6. Hope you have ported System Ace Driver from 2.4 to 2.6. Please post the patch soon. Or else you are asking the group for patch to port it. Please make it clear. I am looking for the same . Thanks Sudheer -Ameet ___ Linuxppc-embedded mailing list Linuxppc-embedded at ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Xilinx SystemACE driver for 2.6
Here is the patch containing the SysAce driver for 2.6 Linux kernel. http://www.cs.york.ac.uk/rtslab/demos/amos/xupv2pro/patches/linuxppc-2.6.17_sysace.patch Please test it and let me know in case of any issues! cheers, -Ameet Ameet Patil wrote: Hi, I have ported System Ace driver from 2.4 to 2.6. Please post the patch soon. -Ameet ___ Linuxppc-embedded mailing list Linuxppc-embedded at ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Xilinx SystemACE driver for 2.6
Hi Sudheer, Sorry, I ate my words there. I meant - I shall soon be posting a patch that contains my port of the SystemAce driver for 2.6 kernel. -Ameet sudheer wrote: Hi Ameet, Your mail is not clear. Ameet Patil wrote: Hi, I have ported System Ace driver from 2.4 to 2.6. Hope you have ported System Ace Driver from 2.4 to 2.6. Please post the patch soon. Or else you are asking the group for patch to port it. Please make it clear. I am looking for the same . Thanks Sudheer -Ameet ___ Linuxppc-embedded mailing list Linuxppc-embedded at ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Xilinx SystemACE driver for 2.6
Hi, I have ported System Ace driver from 2.4 to 2.6. Please post the patch soon. -Ameet
Xilinx SystemACE driver for 2.6
Hello g, I am looking for the answer to your question regarding the System ACE driver under 2.6 posted in the linuxppc-embedded at ozlabs.org. Pl let me know whether it is ported to 2.6. If yes, Would it be possible to share the source code? Looking forward to hear from you. Thanks G.Muruganandam Earlier post: = Has anybody ported the SystemACE driver from 2.4 to 2.6 yet? If so, where can I pull a patch from? Otherwise I'll start work on it. Thanks, g. -- next part -- An HTML attachment was scrubbed... URL: http://ozlabs.org/pipermail/linuxppc-embedded/attachments/20060614/b38dd883/attachment.htm
Xilinx SystemACE driver for 2.6
On Tue, 2005-09-06 at 18:26 +, Grant Likely wrote: Has anybody ported the SystemACE driver from 2.4 to 2.6 yet? If so, where can I pull a patch from? Otherwise I'll start work on it. Along these lines, has anybody done any work to improve the overall performance of the driver? What kind of throughput are you seeing on your systems? With our 266MHz MPC8260 w/ SystemACE (DENX linux-2.4.25), we see the following numbers from Bonnie 1.4. The first set is for an ext2 system and the second is for ext3... ---Sequential Output (nosync)--- ---Sequential Input-- --Rnd Seek- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --04k (03)- MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU 696 65.9 1638 5.7 367 1.6 438 47.6 868 1.7 59.5 5.4 540 53.4 901 9.4 355 1.8 495 54.1 862 1.6 52.4 3.0 Jeff Angielski The PTR Group
Xilinx SystemACE driver for 2.6
Has anybody ported the SystemACE driver from 2.4 to 2.6 yet? If so, where can I pull a patch from? Otherwise I'll start work on it. Thanks, g.