Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9f5a6912 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'fixes-for-linus' of git://git.monstr.eu/linux-2.6-microblaze

* 'fixes-for-linus' of git://git.monstr.eu/linux-2.6-microblaze:
  microblaze: add parameter to microblaze_read()
  microblaze: Use CFLAGS_KERNEL instead of CFLAGS
  microblaze: Add STATE_SAVE_ARG_SPACE for noMMU kernel too
  microblaze: Do not check use_dcache
  microblaze: Do not use PVR configuration for broken MB version
  microblaze: Fix USR1/2 pvr printing message
  microblaze: iowrite upon timeout
  microblaze: Correspond CONFIG...PCMP in Makefile/Kconfig
  microblaze: Remove redundant variable
  microblaze: Move start_thread to process.c
  microblaze: Add missing preadv and pwritev syscalls
  microblaze: Add missing declaration for die and _exception func
  microblaze: Remove sparse error in traps.c
  microblaze: Move task_pt_regs up
  microblaze: Rename kernel_mode to pt_mode in pt_regs
  microblaze: Remove uncache shadow condition
  microblaze: Remove while(1) loop from show_regs function
  microblaze: Remove unneded per cpu SYSCALL_SAVE variable
parents ef54b1bb f57f2fe2
Loading
Loading
Loading
Loading
+3 −5
Original line number Original line Diff line number Diff line
@@ -26,21 +26,19 @@ ifeq (,$(findstring spartan2,$(CONFIG_XILINX_MICROBLAZE0_FAMILY)))
endif
endif
CPUFLAGS-$(CONFIG_XILINX_MICROBLAZE0_USE_DIV) += -mno-xl-soft-div
CPUFLAGS-$(CONFIG_XILINX_MICROBLAZE0_USE_DIV) += -mno-xl-soft-div
CPUFLAGS-$(CONFIG_XILINX_MICROBLAZE0_USE_BARREL) += -mxl-barrel-shift
CPUFLAGS-$(CONFIG_XILINX_MICROBLAZE0_USE_BARREL) += -mxl-barrel-shift
CPUFLAGS-$(CONFIG_XILINX_MICROBLAZE0_USE_PCMP) += -mxl-pattern-compare
CPUFLAGS-$(CONFIG_XILINX_MICROBLAZE0_USE_PCMP_INSTR) += -mxl-pattern-compare


CPUFLAGS-1 += $(call cc-option,-mcpu=v$(CPU_VER))
CPUFLAGS-1 += $(call cc-option,-mcpu=v$(CPU_VER))


# The various CONFIG_XILINX cpu features options are integers 0/1/2...
# The various CONFIG_XILINX cpu features options are integers 0/1/2...
# rather than bools y/n
# rather than bools y/n
CFLAGS += $(CPUFLAGS-1)
CFLAGS += $(CPUFLAGS-2)


# r31 holds current when in kernel mode
# r31 holds current when in kernel mode
CFLAGS += -ffixed-r31
CFLAGS_KERNEL += -ffixed-r31 $(CPUFLAGS-1) $(CPUFLAGS-2)


LDFLAGS_BLOB := --format binary --oformat elf32-microblaze
LDFLAGS_BLOB := --format binary --oformat elf32-microblaze


LIBGCC := $(shell $(CC) $(CFLAGS) -print-libgcc-file-name)
LIBGCC := $(shell $(CC) $(CFLAGS_KERNEL) -print-libgcc-file-name)


head-y		:= arch/microblaze/kernel/head.o
head-y		:= arch/microblaze/kernel/head.o
libs-y		+= arch/microblaze/lib/ $(LIBGCC)
libs-y		+= arch/microblaze/lib/ $(LIBGCC)
+0 −5
Original line number Original line Diff line number Diff line
@@ -37,9 +37,4 @@ void _invalidate_dcache(unsigned int addr);
#define __disable_dcache()		_disable_dcache()
#define __disable_dcache()		_disable_dcache()
#define __invalidate_dcache(addr)	_invalidate_dcache(addr)
#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 */
#endif /* _ASM_MICROBLAZE_CACHE_H */
+3 −1
Original line number Original line Diff line number Diff line
@@ -29,7 +29,9 @@ 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, ENTRY_SP); /* Saved SP on kernel entry */
DECLARE_PER_CPU(unsigned int, R11_SAVE); /* Temp variable for 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, CURRENT_SAVE); /* Saved current pointer */
DECLARE_PER_CPU(unsigned int, SYSCALL_SAVE); /* Saved syscall number */
# endif /* __ASSEMBLY__ */
# endif /* __ASSEMBLY__ */


/* noMMU hasn't any space for args */
# define STATE_SAVE_ARG_SPACE	(0)

#endif /* _ASM_MICROBLAZE_ENTRY_H */
#endif /* _ASM_MICROBLAZE_ENTRY_H */
+3 −0
Original line number Original line Diff line number Diff line
@@ -61,6 +61,9 @@
asmlinkage void full_exception(struct pt_regs *regs, unsigned int type,
asmlinkage void full_exception(struct pt_regs *regs, unsigned int type,
							int fsr, int addr);
							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)
#if defined(CONFIG_XMON)
extern void xmon(struct pt_regs *regs);
extern void xmon(struct pt_regs *regs);
extern int xmon_bpt(struct pt_regs *regs);
extern int xmon_bpt(struct pt_regs *regs);
+8 −13
Original line number Original line Diff line number Diff line
@@ -15,6 +15,8 @@
#include <asm/setup.h>
#include <asm/setup.h>
#include <asm/registers.h>
#include <asm/registers.h>
#include <asm/segment.h>
#include <asm/segment.h>
#include <asm/entry.h>
#include <asm/current.h>


# ifndef __ASSEMBLY__
# ifndef __ASSEMBLY__
/* from kernel/cpu/mb.c */
/* from kernel/cpu/mb.c */
@@ -26,6 +28,12 @@ extern const struct seq_operations cpuinfo_op;


# endif /* __ASSEMBLY__ */
# endif /* __ASSEMBLY__ */


#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
 * User space process size: memory size
 *
 *
@@ -55,16 +63,6 @@ struct task_struct;
struct thread_struct { };
struct thread_struct { };
# define INIT_THREAD	{ }
# 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->kernel_mode = 0;
}

/* Free all resources held by a thread. */
/* Free all resources held by a thread. */
static inline void release_thread(struct task_struct *dead_task)
static inline void release_thread(struct task_struct *dead_task)
{
{
@@ -84,9 +82,6 @@ extern unsigned long get_wchan(struct task_struct *p);
 */
 */
extern int kernel_thread(int (*fn)(void *), void *arg, unsigned long flags);
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_EIP(tsk)	(0)
# define KSTK_ESP(tsk)	(0)
# define KSTK_ESP(tsk)	(0)


Loading