2009-04-16 10:01:18

by Michal Simek

[permalink] [raw]
Subject: Microblaze fixes for revision

Hi All,

here are some patches which fixed some minor things.

There are some categories of patches:
1. Enable some driver for Microblaze - 0011
2. Clean code - 0001, 0003
3. Fix real issue - 0002
4. Do minor changes for future MMU merge - 0004, 0005, 0009
5. Fix sparse errors - 0006, 0007
6. Optional changes - 0008, 0010

All changes are simple and easy to review.

Thanks,
Michal


2009-04-16 10:01:34

by Michal Simek

[permalink] [raw]
Subject: [PATCH 02/11] microblaze: Remove while(1) loop from show_regs function

From: Michal Simek <[email protected]>

I removed it because of show_regs can't break die function.
If process/kernel failed, die (do_exit) function resolve it.

Signed-off-by: Michal Simek <[email protected]>
---
arch/microblaze/kernel/process.c | 2 --
1 files changed, 0 insertions(+), 2 deletions(-)

diff --git a/arch/microblaze/kernel/process.c b/arch/microblaze/kernel/process.c
index 436f26c..bdc8b2c 100644
--- a/arch/microblaze/kernel/process.c
+++ b/arch/microblaze/kernel/process.c
@@ -37,8 +37,6 @@ void show_regs(struct pt_regs *regs)
regs->r29, regs->r30, regs->r31, regs->pc);
printk(KERN_INFO " msr=%08lX, ear=%08lX, esr=%08lX, fsr=%08lX\n",
regs->msr, regs->ear, regs->esr, regs->fsr);
- while (1)
- ;
}

void (*pm_idle)(void);
--
1.5.5.1

2009-04-16 10:02:29

by Michal Simek

[permalink] [raw]
Subject: [PATCH 04/11] microblaze: Rename kernel_mode to pt_mode in pt_regs

From: Michal Simek <[email protected]>

Signed-off-by: Michal Simek <[email protected]>
---
arch/microblaze/include/asm/processor.h | 2 +-
arch/microblaze/include/asm/ptrace.h | 4 ++--
arch/microblaze/kernel/asm-offsets.c | 2 +-
arch/microblaze/kernel/process.c | 4 ++--
4 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/arch/microblaze/include/asm/processor.h b/arch/microblaze/include/asm/processor.h
index d8e1543..4bed76d 100644
--- a/arch/microblaze/include/asm/processor.h
+++ b/arch/microblaze/include/asm/processor.h
@@ -62,7 +62,7 @@ static inline void start_thread(struct pt_regs *regs,
{
regs->pc = pc;
regs->r1 = usp;
- regs->kernel_mode = 0;
+ regs->pt_mode = 0;
}

/* Free all resources held by a thread. */
diff --git a/arch/microblaze/include/asm/ptrace.h b/arch/microblaze/include/asm/ptrace.h
index f1f0348..55015bc 100644
--- a/arch/microblaze/include/asm/ptrace.h
+++ b/arch/microblaze/include/asm/ptrace.h
@@ -52,10 +52,10 @@ struct pt_regs {
microblaze_reg_t ear;
microblaze_reg_t esr;
microblaze_reg_t fsr;
- int kernel_mode;
+ int pt_mode;
};

-#define kernel_mode(regs) ((regs)->kernel_mode)
+#define kernel_mode(regs) ((regs)->pt_mode)
#define user_mode(regs) (!kernel_mode(regs))

#define instruction_pointer(regs) ((regs)->pc)
diff --git a/arch/microblaze/kernel/asm-offsets.c b/arch/microblaze/kernel/asm-offsets.c
index 38e1a2e..aabd9e9 100644
--- a/arch/microblaze/kernel/asm-offsets.c
+++ b/arch/microblaze/kernel/asm-offsets.c
@@ -57,7 +57,7 @@ int main(int argc, char *argv[])
DEFINE(PT_R29, offsetof(struct pt_regs, r29));
DEFINE(PT_R30, offsetof(struct pt_regs, r30));
DEFINE(PT_R31, offsetof(struct pt_regs, r31));
- DEFINE(PT_MODE, offsetof(struct pt_regs, kernel_mode));
+ DEFINE(PT_MODE, offsetof(struct pt_regs, pt_mode));
BLANK();

/* Magic offsets for PTRACE PEEK/POKE etc */
diff --git a/arch/microblaze/kernel/process.c b/arch/microblaze/kernel/process.c
index bdc8b2c..40cc148 100644
--- a/arch/microblaze/kernel/process.c
+++ b/arch/microblaze/kernel/process.c
@@ -18,7 +18,7 @@

void show_regs(struct pt_regs *regs)
{
- printk(KERN_INFO " Registers dump: mode=%X\r\n", regs->kernel_mode);
+ printk(KERN_INFO " Registers dump: mode=%X\r\n", regs->pt_mode);
printk(KERN_INFO " r1=%08lX, r2=%08lX, r3=%08lX, r4=%08lX\n",
regs->r1, regs->r2, regs->r3, regs->r4);
printk(KERN_INFO " r5=%08lX, r6=%08lX, r7=%08lX, r8=%08lX\n",
@@ -169,7 +169,7 @@ int kernel_thread(int (*fn)(void *), void *arg, unsigned long flags)
regs.r6 = (unsigned long)arg;
local_save_flags(regs.msr);
regs.pc = (unsigned long)kernel_thread_helper;
- regs.kernel_mode = 1;
+ regs.pt_mode = 1;

ret = do_fork(flags | CLONE_VM | CLONE_UNTRACED, 0,
&regs, 0, NULL, NULL);
--
1.5.5.1

2009-04-16 10:01:50

by Michal Simek

[permalink] [raw]
Subject: [PATCH 03/11] microblaze: Remove uncache shadow condition

From: Michal Simek <[email protected]>

Uncached shadow feature is not supported in current
kernel code that's why I removed it.

Signed-off-by: Michal Simek <[email protected]>
---
arch/microblaze/include/asm/cache.h | 5 -----
1 files changed, 0 insertions(+), 5 deletions(-)

diff --git a/arch/microblaze/include/asm/cache.h b/arch/microblaze/include/asm/cache.h
index c4c64b4..c209c47 100644
--- a/arch/microblaze/include/asm/cache.h
+++ b/arch/microblaze/include/asm/cache.h
@@ -37,9 +37,4 @@ void _invalidate_dcache(unsigned int addr);
#define __disable_dcache() _disable_dcache()
#define __invalidate_dcache(addr) _invalidate_dcache(addr)

-/* FIXME - I don't think this is right */
-#ifdef CONFIG_XILINX_UNCACHED_SHADOW
-#define UNCACHED_SHADOW_MASK (CONFIG_XILINX_ERAM_SIZE)
-#endif
-
#endif /* _ASM_MICROBLAZE_CACHE_H */
--
1.5.5.1

2009-04-16 10:02:46

by Michal Simek

[permalink] [raw]
Subject: [PATCH 10/11] microblaze: Remove redundant variable

From: Michal Simek <[email protected]>

Signed-off-by: Michal Simek <[email protected]>
---
arch/microblaze/kernel/process.c | 5 +----
1 files changed, 1 insertions(+), 4 deletions(-)

diff --git a/arch/microblaze/kernel/process.c b/arch/microblaze/kernel/process.c
index dd15de9..07d4fa3 100644
--- a/arch/microblaze/kernel/process.c
+++ b/arch/microblaze/kernel/process.c
@@ -161,7 +161,6 @@ static void kernel_thread_helper(int (*fn)(void *), void *arg)
int kernel_thread(int (*fn)(void *), void *arg, unsigned long flags)
{
struct pt_regs regs;
- int ret;

memset(&regs, 0, sizeof(regs));
/* store them in non-volatile registers */
@@ -171,10 +170,8 @@ int kernel_thread(int (*fn)(void *), void *arg, unsigned long flags)
regs.pc = (unsigned long)kernel_thread_helper;
regs.pt_mode = 1;

- ret = do_fork(flags | CLONE_VM | CLONE_UNTRACED, 0,
+ return do_fork(flags | CLONE_VM | CLONE_UNTRACED, 0,
&regs, 0, NULL, NULL);
-
- return ret;
}

unsigned long get_wchan(struct task_struct *p)
--
1.5.5.1

2009-04-16 10:03:05

by Michal Simek

[permalink] [raw]
Subject: [PATCH 01/11] microblaze: Remove unneded per cpu SYSCALL_SAVE variable

From: Michal Simek <[email protected]>

Signed-off-by: Michal Simek <[email protected]>
---
arch/microblaze/include/asm/entry.h | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/arch/microblaze/include/asm/entry.h b/arch/microblaze/include/asm/entry.h
index 7f57e42..1019d88 100644
--- a/arch/microblaze/include/asm/entry.h
+++ b/arch/microblaze/include/asm/entry.h
@@ -29,7 +29,6 @@ DECLARE_PER_CPU(unsigned int, KM); /* Kernel/user mode */
DECLARE_PER_CPU(unsigned int, ENTRY_SP); /* Saved SP on kernel entry */
DECLARE_PER_CPU(unsigned int, R11_SAVE); /* Temp variable for entry */
DECLARE_PER_CPU(unsigned int, CURRENT_SAVE); /* Saved current pointer */
-DECLARE_PER_CPU(unsigned int, SYSCALL_SAVE); /* Saved syscall number */
# endif /* __ASSEMBLY__ */

#endif /* _ASM_MICROBLAZE_ENTRY_H */
--
1.5.5.1

2009-04-16 10:03:56

by Michal Simek

[permalink] [raw]
Subject: [PATCH 05/11] microblaze: Move task_pt_regs up

From: Michal Simek <[email protected]>

This change is important for easier merge with Microblaze MMU code.

Signed-off-by: Michal Simek <[email protected]>
---
arch/microblaze/include/asm/processor.h | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/microblaze/include/asm/processor.h b/arch/microblaze/include/asm/processor.h
index 4bed76d..cea42a3 100644
--- a/arch/microblaze/include/asm/processor.h
+++ b/arch/microblaze/include/asm/processor.h
@@ -26,6 +26,9 @@ extern const struct seq_operations cpuinfo_op;

# endif /* __ASSEMBLY__ */

+#define task_pt_regs(tsk) \
+ (((struct pt_regs *)(THREAD_SIZE + task_stack_page(tsk))) - 1)
+
/*
* User space process size: memory size
*
@@ -84,9 +87,6 @@ extern unsigned long get_wchan(struct task_struct *p);
*/
extern int kernel_thread(int (*fn)(void *), void *arg, unsigned long flags);

-# define task_pt_regs(tsk) \
- (((struct pt_regs *)(THREAD_SIZE + task_stack_page(tsk))) - 1)
-
# define KSTK_EIP(tsk) (0)
# define KSTK_ESP(tsk) (0)

--
1.5.5.1

2009-04-16 10:03:27

by Michal Simek

[permalink] [raw]
Subject: [PATCH 11/11] microblaze: Kconfig: Enable drivers for Microblaze

From: Michal Simek <[email protected]>

Signed-off-by: Michal Simek <[email protected]>
---
drivers/block/Kconfig | 2 +-
drivers/char/Kconfig | 2 +-
drivers/gpio/Kconfig | 2 +-
drivers/usb/Kconfig | 1 +
4 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/block/Kconfig b/drivers/block/Kconfig
index ddea8e4..9f1665f 100644
--- a/drivers/block/Kconfig
+++ b/drivers/block/Kconfig
@@ -438,7 +438,7 @@ source "drivers/s390/block/Kconfig"

config XILINX_SYSACE
tristate "Xilinx SystemACE support"
- depends on 4xx
+ depends on 4xx || MICROBLAZE
help
Include support for the Xilinx SystemACE CompactFlash interface

diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig
index 735bbe2..bb1a071 100644
--- a/drivers/char/Kconfig
+++ b/drivers/char/Kconfig
@@ -893,7 +893,7 @@ config DTLK

config XILINX_HWICAP
tristate "Xilinx HWICAP Support"
- depends on XILINX_VIRTEX
+ depends on XILINX_VIRTEX || MICROBLAZE
help
This option enables support for Xilinx Internal Configuration
Access Port (ICAP) driver. The ICAP is used on Xilinx Virtex
diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
index edb0253..11f3739 100644
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -69,7 +69,7 @@ comment "Memory mapped GPIO expanders:"

config GPIO_XILINX
bool "Xilinx GPIO support"
- depends on PPC_OF
+ depends on PPC_OF || MICROBLAZE
help
Say yes here to support the Xilinx FPGA GPIO device

diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig
index c6c816b..5eee3f8 100644
--- a/drivers/usb/Kconfig
+++ b/drivers/usb/Kconfig
@@ -22,6 +22,7 @@ config USB_ARCH_HAS_HCD
default y if PCMCIA && !M32R # sl811_cs
default y if ARM # SL-811
default y if SUPERH # r8a66597-hcd
+ default y if MICROBLAZE
default PCI

# many non-PCI SOC chips embed OHCI
--
1.5.5.1

2009-04-16 10:05:00

by Michal Simek

[permalink] [raw]
Subject: [PATCH 07/11] microblaze: Add missing declaration for die and _exception func

From: Michal Simek <[email protected]>

This change remove sparse errors.

Signed-off-by: Michal Simek <[email protected]>
---
arch/microblaze/include/asm/exceptions.h | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/arch/microblaze/include/asm/exceptions.h b/arch/microblaze/include/asm/exceptions.h
index 4cdd215..24ca540 100644
--- a/arch/microblaze/include/asm/exceptions.h
+++ b/arch/microblaze/include/asm/exceptions.h
@@ -61,6 +61,9 @@
asmlinkage void full_exception(struct pt_regs *regs, unsigned int type,
int fsr, int addr);

+void die(const char *str, struct pt_regs *fp, long err);
+void _exception(int signr, struct pt_regs *regs, int code, unsigned long addr);
+
#if defined(CONFIG_XMON)
extern void xmon(struct pt_regs *regs);
extern int xmon_bpt(struct pt_regs *regs);
--
1.5.5.1

2009-04-16 10:05:26

by Michal Simek

[permalink] [raw]
Subject: [PATCH 06/11] microblaze: Remove sparse error in traps.c

From: Michal Simek <[email protected]>

CHECK arch/microblaze/kernel/traps.c
arch/microblaze/kernel/traps.c:37:47: warning: Using plain integer as NULL pointer
CC arch/microblaze/kernel/traps.o

Signed-off-by: Michal Simek <[email protected]>
---
arch/microblaze/kernel/traps.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/microblaze/kernel/traps.c b/arch/microblaze/kernel/traps.c
index fbdc533..293ef48 100644
--- a/arch/microblaze/kernel/traps.c
+++ b/arch/microblaze/kernel/traps.c
@@ -34,7 +34,7 @@ static int kstack_depth_to_print = 24;

static int __init kstack_setup(char *s)
{
- kstack_depth_to_print = strict_strtoul(s, 0, 0);
+ kstack_depth_to_print = strict_strtoul(s, 0, NULL);

return 1;
}
--
1.5.5.1

2009-04-16 10:05:45

by Michal Simek

[permalink] [raw]
Subject: [PATCH 09/11] microblaze: Move start_thread to process.c

From: Michal Simek <[email protected]>

This change is due to upcomming MMU merge

Signed-off-by: Michal Simek <[email protected]>
---
arch/microblaze/include/asm/processor.h | 13 +++----------
arch/microblaze/kernel/process.c | 9 +++++++++
2 files changed, 12 insertions(+), 10 deletions(-)

diff --git a/arch/microblaze/include/asm/processor.h b/arch/microblaze/include/asm/processor.h
index cea42a3..89aa395 100644
--- a/arch/microblaze/include/asm/processor.h
+++ b/arch/microblaze/include/asm/processor.h
@@ -29,6 +29,9 @@ extern const struct seq_operations cpuinfo_op;
#define task_pt_regs(tsk) \
(((struct pt_regs *)(THREAD_SIZE + task_stack_page(tsk))) - 1)

+/* Do necessary setup to start up a newly executed thread. */
+void start_thread(struct pt_regs *regs, unsigned long pc, unsigned long usp);
+
/*
* User space process size: memory size
*
@@ -58,16 +61,6 @@ struct task_struct;
struct thread_struct { };
# define INIT_THREAD { }

-/* Do necessary setup to start up a newly executed thread. */
-static inline void start_thread(struct pt_regs *regs,
- unsigned long pc,
- unsigned long usp)
-{
- regs->pc = pc;
- regs->r1 = usp;
- regs->pt_mode = 0;
-}
-
/* Free all resources held by a thread. */
static inline void release_thread(struct task_struct *dead_task)
{
diff --git a/arch/microblaze/kernel/process.c b/arch/microblaze/kernel/process.c
index 40cc148..dd15de9 100644
--- a/arch/microblaze/kernel/process.c
+++ b/arch/microblaze/kernel/process.c
@@ -182,3 +182,12 @@ unsigned long get_wchan(struct task_struct *p)
/* TBD (used by procfs) */
return 0;
}
+
+/* Set up a thread for executing a new program */
+void start_thread(struct pt_regs *regs, unsigned long pc, unsigned long usp)
+{
+ set_fs(USER_DS);
+ regs->pc = pc;
+ regs->r1 = usp;
+ regs->pt_mode = 0;
+}
--
1.5.5.1

2009-04-16 10:06:00

by Michal Simek

[permalink] [raw]
Subject: [PATCH 08/11] microblaze: Add missing preadv and pwritev syscalls

From: Michal Simek <[email protected]>

Signed-off-by: Michal Simek <[email protected]>
---
arch/microblaze/include/asm/unistd.h | 4 +++-
arch/microblaze/kernel/syscall_table.S | 2 ++
2 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/arch/microblaze/include/asm/unistd.h b/arch/microblaze/include/asm/unistd.h
index d9d3903..b5e2f5f 100644
--- a/arch/microblaze/include/asm/unistd.h
+++ b/arch/microblaze/include/asm/unistd.h
@@ -378,8 +378,10 @@
#define __NR_sendmsg 360 /* new */
#define __NR_recvmsg 361 /* new */
#define __NR_accept04 362 /* new */
+#define __NR_preadv 363 /* new */
+#define __NR_pwritev 364 /* new */

-#define __NR_syscalls 363
+#define __NR_syscalls 365

#ifdef __KERNEL__
#ifndef __ASSEMBLY__
diff --git a/arch/microblaze/kernel/syscall_table.S b/arch/microblaze/kernel/syscall_table.S
index 529b0db..3bb42ec 100644
--- a/arch/microblaze/kernel/syscall_table.S
+++ b/arch/microblaze/kernel/syscall_table.S
@@ -363,3 +363,5 @@ ENTRY(sys_call_table)
.long sys_sendmsg /* 360 */
.long sys_recvmsg
.long sys_ni_syscall
+ .long sys_ni_syscall
+ .long sys_ni_syscall
--
1.5.5.1

2009-04-17 02:30:32

by John Williams

[permalink] [raw]
Subject: Re: [microblaze-uclinux] [PATCH 02/11] microblaze: Remove while(1) loop from show_regs function

On Thu, Apr 16, 2009 at 7:56 PM, <[email protected]> wrote:
> From: Michal Simek <[email protected]>
>
> I removed it because of show_regs can't break die function.
> If process/kernel failed, die (do_exit) function resolve it.

ACK

--
John Williams, PhD, B.Eng, B.IT
PetaLogix - Linux Solutions for a Reconfigurable World
w: http://www.petalogix.com p: +61-7-30090663 f: +61-7-30090663

2009-04-17 04:55:32

by John Williams

[permalink] [raw]
Subject: Re: [microblaze-uclinux] [PATCH 06/11] microblaze: Remove sparse error in traps.c

On Thu, Apr 16, 2009 at 7:56 PM, <[email protected]> wrote:
> From: Michal Simek <[email protected]>
>
> CHECK ? arch/microblaze/kernel/traps.c
> arch/microblaze/kernel/traps.c:37:47: warning: Using plain integer as NULL pointer
> CC ? ? ?arch/microblaze/kernel/traps.o
>
> Signed-off-by: Michal Simek <[email protected]>

ACK

2009-04-17 04:55:53

by John Williams

[permalink] [raw]
Subject: Re: [microblaze-uclinux] [PATCH 07/11] microblaze: Add missing declaration for die and _exception func

On Thu, Apr 16, 2009 at 7:56 PM, <[email protected]> wrote:

> This change remove sparse errors.
>
> Signed-off-by: Michal Simek <[email protected]>

ACK

2009-04-17 04:56:23

by John Williams

[permalink] [raw]
Subject: Re: [microblaze-uclinux] [PATCH 08/11] microblaze: Add missing preadv and pwritev syscalls

On Thu, Apr 16, 2009 at 7:56 PM, <[email protected]> wrote:
> From: Michal Simek <[email protected]>
>
> Signed-off-by: Michal Simek <[email protected]>

ACK

2009-04-17 04:57:39

by John Williams

[permalink] [raw]
Subject: Re: [microblaze-uclinux] [PATCH 09/11] microblaze: Move start_thread to process.c

On Thu, Apr 16, 2009 at 7:56 PM, <[email protected]> wrote:
> From: Michal Simek <[email protected]>
>
> This change is due to upcomming MMU merge
>
> Signed-off-by: Michal Simek <[email protected]>

ACK

2009-04-17 04:57:58

by John Williams

[permalink] [raw]
Subject: Re: [microblaze-uclinux] [PATCH 10/11] microblaze: Remove redundant variable

On Thu, Apr 16, 2009 at 7:56 PM, <[email protected]> wrote:
> From: Michal Simek <[email protected]>
>
> Signed-off-by: Michal Simek <[email protected]>

ACK

2009-04-17 05:01:31

by John Williams

[permalink] [raw]
Subject: Re: [microblaze-uclinux] [PATCH 11/11] microblaze: Kconfig: Enable drivers for Microblaze

On Thu, Apr 16, 2009 at 7:56 PM, <[email protected]> wrote:
> From: Michal Simek <[email protected]>
>
> Signed-off-by: Michal Simek <[email protected]>

ACK from a MicroBlaze perspective, but some other comments below:

A note more for the Xilinx PPC folks (ie Grant Likely):

Shouldn't some of these Kconfig depends for PPC be unified? We have:

> config XILINX_SYSACE
> tristate "Xilinx SystemACE support"
> - depends on 4xx
> + ? ? ? depends on 4xx || MICROBLAZE

> ?config XILINX_HWICAP
> ? ? ? ?tristate "Xilinx HWICAP Support"
> - ? ? ? depends on XILINX_VIRTEX
> + ? ? ? depends on XILINX_VIRTEX || MICROBLAZE


> ?config GPIO_XILINX
> ? ? ? ?bool "Xilinx GPIO support"
> - ? ? ? depends on PPC_OF
> + ? ? ? depends on PPC_OF || MICROBLAZE
> ? ? ? ?help
> ? ? ? ? ?Say yes here to support the Xilinx FPGA GPIO device

Are these all really different options? PPC_OF? XILINX_VIRTEX? 4xx?

John

2009-04-17 06:58:22

by Grant Likely

[permalink] [raw]
Subject: Re: [microblaze-uclinux] [PATCH 11/11] microblaze: Kconfig: Enable drivers for Microblaze

On Thu, Apr 16, 2009 at 11:01 PM, John Williams
<[email protected]> wrote:
> On Thu, Apr 16, 2009 at 7:56 PM, ?<[email protected]> wrote:
>> From: Michal Simek <[email protected]>
>>
>> Signed-off-by: Michal Simek <[email protected]>
>
> ACK from a MicroBlaze perspective, but some other comments below:

Acked-by: Grant Likely <[email protected]>

But I'm not sure who should pick this up.

>
> A note more for the Xilinx PPC folks (ie Grant Likely):
>
> Shouldn't some of these Kconfig depends for PPC be unified? ?We have:
>
>> ?config XILINX_SYSACE
>> ? ? ? ?tristate "Xilinx SystemACE support"
>> - ? ? ? depends on 4xx
>> + ? ? ? depends on 4xx || MICROBLAZE
>
>> ?config XILINX_HWICAP
>> ? ? ? ?tristate "Xilinx HWICAP Support"
>> - ? ? ? depends on XILINX_VIRTEX
>> + ? ? ? depends on XILINX_VIRTEX || MICROBLAZE
>
>
>> ?config GPIO_XILINX
>> ? ? ? ?bool "Xilinx GPIO support"
>> - ? ? ? depends on PPC_OF
>> + ? ? ? depends on PPC_OF || MICROBLAZE
>> ? ? ? ?help
>> ? ? ? ? ?Say yes here to support the Xilinx FPGA GPIO device
>
> Are these all really different options? ?PPC_OF? ?XILINX_VIRTEX? ?4xx?

xsysace should just depend on either PPC or OF. It is applicable to
more than just virtex/spartan systems (I know of at least one
non-virtex 440 board with a systemace, hence the 4xx usage), and it is
conceivable that it would be used on other architectures.

XILINX_VIRTEX makes some sense for hwicap

PPC_OF doesn't have any real meaning anymore. PPC would be better.

g.

--
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.

2009-04-17 17:07:31

by Stephen Neuendorffer

[permalink] [raw]
Subject: RE: [microblaze-uclinux] [PATCH 11/11] microblaze: Kconfig: Enable drivers for Microblaze


Can we have XILINX_DRIVERS, please? That way this can also be enabled
on any architecture that has FPGA peripherals.

Steve

> -----Original Message-----
> From: [email protected]
[mailto:[email protected]] On
> Behalf Of [email protected]
> Sent: Thursday, April 16, 2009 2:57 AM
> To: [email protected]
> Cc: [email protected]; Michal Simek
> Subject: [microblaze-uclinux] [PATCH 11/11] microblaze: Kconfig:
Enable drivers for Microblaze
>
> From: Michal Simek <[email protected]>
>
> Signed-off-by: Michal Simek <[email protected]>
> ---
> drivers/block/Kconfig | 2 +-
> drivers/char/Kconfig | 2 +-
> drivers/gpio/Kconfig | 2 +-
> drivers/usb/Kconfig | 1 +
> 4 files changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/block/Kconfig b/drivers/block/Kconfig
> index ddea8e4..9f1665f 100644
> --- a/drivers/block/Kconfig
> +++ b/drivers/block/Kconfig
> @@ -438,7 +438,7 @@ source "drivers/s390/block/Kconfig"
>
> config XILINX_SYSACE
> tristate "Xilinx SystemACE support"
> - depends on 4xx
> + depends on 4xx || MICROBLAZE
> help
> Include support for the Xilinx SystemACE CompactFlash
interface
>
> diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig
> index 735bbe2..bb1a071 100644
> --- a/drivers/char/Kconfig
> +++ b/drivers/char/Kconfig
> @@ -893,7 +893,7 @@ config DTLK
>
> config XILINX_HWICAP
> tristate "Xilinx HWICAP Support"
> - depends on XILINX_VIRTEX
> + depends on XILINX_VIRTEX || MICROBLAZE
> help
> This option enables support for Xilinx Internal Configuration
> Access Port (ICAP) driver. The ICAP is used on Xilinx Virtex
> diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
> index edb0253..11f3739 100644
> --- a/drivers/gpio/Kconfig
> +++ b/drivers/gpio/Kconfig
> @@ -69,7 +69,7 @@ comment "Memory mapped GPIO expanders:"
>
> config GPIO_XILINX
> bool "Xilinx GPIO support"
> - depends on PPC_OF
> + depends on PPC_OF || MICROBLAZE
> help
> Say yes here to support the Xilinx FPGA GPIO device
>
> diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig
> index c6c816b..5eee3f8 100644
> --- a/drivers/usb/Kconfig
> +++ b/drivers/usb/Kconfig
> @@ -22,6 +22,7 @@ config USB_ARCH_HAS_HCD
> default y if PCMCIA && !M32R # sl811_cs
> default y if ARM # SL-811
> default y if SUPERH # r8a66597-hcd
> + default y if MICROBLAZE
> default PCI
>
> # many non-PCI SOC chips embed OHCI
> --
> 1.5.5.1
>
> ___________________________
> microblaze-uclinux mailing list
> [email protected]
> Project Home Page :
http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
> Mailing List Archive :
http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/
>


This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately.

2009-04-17 17:22:29

by Stephen Neuendorffer

[permalink] [raw]
Subject: RE: [microblaze-uclinux] [PATCH 11/11] microblaze: Kconfig: Enable drivers for Microblaze



> -----Original Message-----
> From: [email protected] [mailto:[email protected]] On
> Behalf Of Grant Likely
> Sent: Thursday, April 16, 2009 11:52 PM
> To: John Williams
> Cc: [email protected]; [email protected]; Michal Simek
> Subject: Re: [microblaze-uclinux] [PATCH 11/11] microblaze: Kconfig: Enable drivers for Microblaze
>
> On Thu, Apr 16, 2009 at 11:01 PM, John Williams
> <[email protected]> wrote:
> > On Thu, Apr 16, 2009 at 7:56 PM, ?<[email protected]> wrote:
> >> From: Michal Simek <[email protected]>
> >>
> >> Signed-off-by: Michal Simek <[email protected]>
> >
> > ACK from a MicroBlaze perspective, but some other comments below:
>
> Acked-by: Grant Likely <[email protected]>
>
> But I'm not sure who should pick this up.
>
> >
> > A note more for the Xilinx PPC folks (ie Grant Likely):
> >
> > Shouldn't some of these Kconfig depends for PPC be unified? ?We have:
> >
> >> ?config XILINX_SYSACE
> >> ? ? ? ?tristate "Xilinx SystemACE support"
> >> - ? ? ? depends on 4xx
> >> + ? ? ? depends on 4xx || MICROBLAZE
> >
> >> ?config XILINX_HWICAP
> >> ? ? ? ?tristate "Xilinx HWICAP Support"
> >> - ? ? ? depends on XILINX_VIRTEX
> >> + ? ? ? depends on XILINX_VIRTEX || MICROBLAZE
> >
> >
> >> ?config GPIO_XILINX
> >> ? ? ? ?bool "Xilinx GPIO support"
> >> - ? ? ? depends on PPC_OF
> >> + ? ? ? depends on PPC_OF || MICROBLAZE
> >> ? ? ? ?help
> >> ? ? ? ? ?Say yes here to support the Xilinx FPGA GPIO device
> >
> > Are these all really different options? ?PPC_OF? ?XILINX_VIRTEX? ?4xx?
>
> xsysace should just depend on either PPC or OF. It is applicable to
> more than just virtex/spartan systems (I know of at least one
> non-virtex 440 board with a systemace, hence the 4xx usage), and it is
> conceivable that it would be used on other architectures.
>
> XILINX_VIRTEX makes some sense for hwicap
>
> PPC_OF doesn't have any real meaning anymore. PPC would be better.

I'd like to see a single configuration option that makes all of these drivers available. That way, any processor system (x86, soft arm core, etc.) could turn those on.. The only thing these drivers *REALLY* depend on is OF... I've circulated patches to do this several times, although they're probably hopelessly out of date at this point.

Steve

This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately.

2009-04-18 05:50:20

by Grant Likely

[permalink] [raw]
Subject: Re: [microblaze-uclinux] [PATCH 11/11] microblaze: Kconfig: Enable drivers for Microblaze

On Fri, Apr 17, 2009 at 11:06 AM, Stephen Neuendorffer
<[email protected]> wrote:
>
> Can we have XILINX_DRIVERS, please? ?That way this can also be enabled
> on any architecture that has FPGA peripherals.

I've thought about this more, and I'd really rather not. The list of
affected drivers is short and is not a large maintenance burden. I
don't think a list of 2 or 3 architecture selects for each driver is
unreasonable. A "XILINX_DRIVERS" config item doesn't really help much
anyway. At any given time one of these drivers may be needed on
another platform. ie. the SystemACE device is present on at least one
non-virtex, non-spartan platform.

g.

>
> Steve
>
>> -----Original Message-----
>> From: [email protected]
> [mailto:[email protected]] On
>> Behalf Of [email protected]
>> Sent: Thursday, April 16, 2009 2:57 AM
>> To: [email protected]
>> Cc: [email protected]; Michal Simek
>> Subject: [microblaze-uclinux] [PATCH 11/11] microblaze: Kconfig:
> Enable drivers for Microblaze
>>
>> From: Michal Simek <[email protected]>
>>
>> Signed-off-by: Michal Simek <[email protected]>
>> ---
>> ?drivers/block/Kconfig | ? ?2 +-
>> ?drivers/char/Kconfig ?| ? ?2 +-
>> ?drivers/gpio/Kconfig ?| ? ?2 +-
>> ?drivers/usb/Kconfig ? | ? ?1 +
>> ?4 files changed, 4 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/block/Kconfig b/drivers/block/Kconfig
>> index ddea8e4..9f1665f 100644
>> --- a/drivers/block/Kconfig
>> +++ b/drivers/block/Kconfig
>> @@ -438,7 +438,7 @@ source "drivers/s390/block/Kconfig"
>>
>> ?config XILINX_SYSACE
>> ? ? ? tristate "Xilinx SystemACE support"
>> - ? ? depends on 4xx
>> + ? ? depends on 4xx || MICROBLAZE
>> ? ? ? help
>> ? ? ? ? Include support for the Xilinx SystemACE CompactFlash
> interface
>>
>> diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig
>> index 735bbe2..bb1a071 100644
>> --- a/drivers/char/Kconfig
>> +++ b/drivers/char/Kconfig
>> @@ -893,7 +893,7 @@ config DTLK
>>
>> ?config XILINX_HWICAP
>> ? ? ? tristate "Xilinx HWICAP Support"
>> - ? ? depends on XILINX_VIRTEX
>> + ? ? depends on XILINX_VIRTEX || MICROBLAZE
>> ? ? ? help
>> ? ? ? ? This option enables support for Xilinx Internal Configuration
>> ? ? ? ? Access Port (ICAP) driver. ?The ICAP is used on Xilinx Virtex
>> diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
>> index edb0253..11f3739 100644
>> --- a/drivers/gpio/Kconfig
>> +++ b/drivers/gpio/Kconfig
>> @@ -69,7 +69,7 @@ comment "Memory mapped GPIO expanders:"
>>
>> ?config GPIO_XILINX
>> ? ? ? bool "Xilinx GPIO support"
>> - ? ? depends on PPC_OF
>> + ? ? depends on PPC_OF || MICROBLAZE
>> ? ? ? help
>> ? ? ? ? Say yes here to support the Xilinx FPGA GPIO device
>>
>> diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig
>> index c6c816b..5eee3f8 100644
>> --- a/drivers/usb/Kconfig
>> +++ b/drivers/usb/Kconfig
>> @@ -22,6 +22,7 @@ config USB_ARCH_HAS_HCD
>> ? ? ? default y if PCMCIA && !M32R ? ? ? ? ? ? ? ? ? ?# sl811_cs
>> ? ? ? default y if ARM ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?# SL-811
>> ? ? ? default y if SUPERH ? ? ? ? ? ? ? ? ? ? ? ? ? ? # r8a66597-hcd
>> + ? ? default y if MICROBLAZE
>> ? ? ? default PCI
>>
>> ?# many non-PCI SOC chips embed OHCI
>> --
>> 1.5.5.1
>>
>> ___________________________
>> microblaze-uclinux mailing list
>> [email protected]
>> Project Home Page :
> http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
>> Mailing List Archive :
> http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/
>>
>
>
> This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately.
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at ?http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at ?http://www.tux.org/lkml/
>



--
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.

2009-04-19 09:26:19

by derekzheng

[permalink] [raw]
Subject: who know's what is "TestFloat cases" and how to test this feature on the Freescale MPC8536DS board

Hi all guys:

The Freescale MPC8536DS board Integrated TestFloat cases, and I do not know how to test this feature on this board.
Please tell me how to test it if you known

Thanks very much!

Derek


2009-04-19 16:40:53

by Kumar Gala

[permalink] [raw]
Subject: Re: who know's what is "TestFloat cases" and how to test this feature on the Freescale MPC8536DS board


On Apr 19, 2009, at 4:25 AM, derekzheng wrote:

> Hi all guys:
>
> The Freescale MPC8536DS board Integrated TestFloat cases, and I do
> not know how to test this feature on this board.
> Please tell me how to test it if you known

1. why are you CC' the microblaze list on this question?
2. I assume you are talking about the FSL BSP for MPC8536DS
3. testfloat is a set of tests. Its not clear what your question is.
You build testfloat and run it and it reports pass/fails.

- k

2009-04-20 07:41:23

by Liu Yu-B13201

[permalink] [raw]
Subject: RE: who know's what is "TestFloat cases" and how to test this feature onthe Freescale MPC8536DS board


> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]]
> On Behalf Of derekzheng
> Sent: Sunday, April 19, 2009 5:25 PM
> To: 'linuxppc-dev'; [email protected];
> [email protected]
> Subject: who know's what is "TestFloat cases" and how to test
> this feature onthe Freescale MPC8536DS board
>
> Hi all guys:
>
> The Freescale MPC8536DS board Integrated TestFloat cases, and
> I do not know how to test this feature on this board.
> Please tell me how to test it if you known
>

You can find the user manual "E500v2 SPE Floating Point" in BSP iso.

2009-04-20 20:41:33

by Andrew Morton

[permalink] [raw]
Subject: Re: Microblaze fixes for revision

On Thu, 16 Apr 2009 11:56:27 +0200
[email protected] wrote:

> here are some patches which fixed some minor things.

How are microblaze patches getting into Linus's tree?

An appropriate route would be for you to ask him to pull the git tree.
I could send them (as I do with alpha, uml and maybe others), but
that's more a last-resort way of maintaining an architecture.

The microblaze git tree should be included in linux-next. Please
prepare a branch and send the info over to Stephen Rothwell
<[email protected]> and [email protected] to get that all
set up.

For these particular patches: officially, 2.6.30-rcN is in bugfix-only
mode. But as microblaze is newly-added in 2.6.30 I think it's OK to
put non-bugfixes into 2.6.30 as well - we might as well get the
architecture as up-to-date as possible for the 2.6.30 release.

2009-04-21 06:30:59

by Michal Simek

[permalink] [raw]
Subject: Re: Microblaze fixes for revision

Andrew Morton wrote:
> On Thu, 16 Apr 2009 11:56:27 +0200
> [email protected] wrote:
>
>
>> here are some patches which fixed some minor things.
>>
>
> How are microblaze patches getting into Linus's tree?
>
I created two branches in git as Ingo suggested me.
1. for-linus -> this branch stores new features which comes to next
merge open window
2. fixes-for-linus -> this branch stores fixes which come to rc version

I asked Linus for pulling it to his tree. I think rc3 will be soon - the
changes which I sent for
reviewing to LKML are OK (except Kconfig patch 11/11 - which I removed
for now) - they are ready
in fixes-for-linus branch.
I'll write next pull request - some days after rc3.

> An appropriate route would be for you to ask him to pull the git tree.
> I could send them (as I do with alpha, uml and maybe others), but
> that's more a last-resort way of maintaining an architecture.
>
I think that my maintaining will be good for you and all.

> The microblaze git tree should be included in linux-next. Please
> prepare a branch and send the info over to Stephen Rothwell
> <[email protected]> and [email protected] to get that all
> set up.
>
OK. I will contact him to sort this things.

> For these particular patches: officially, 2.6.30-rcN is in bugfix-only
> mode. But as microblaze is newly-added in 2.6.30 I think it's OK to
> put non-bugfixes into 2.6.30 as well - we might as well get the
> architecture as up-to-date as possible for the 2.6.30 release.
>
Thanks but I don't need to add new feature now.
I am solving some problems with romfs which comes with David's romfs changes

And I am preparing MMU Microblaze patches which I want to send to review
to LKML soon. I have there only some things to solve (like add
__uClinux__ to headers). I tested it with LTP and the results are good.
I would like to have ACKs and add it in next merge open window.

Thanks,
Michal

> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>


--
Michal Simek, Ing. (M.Eng)
PetaLogix - Linux Solutions for a Reconfigurable World
w: http://www.petalogix.com p: +61-7-30090663,+42-0-721842854 f: +61-7-30090663