: linux-2.5.49-uc0 (MMU-less fix ups)
PATCH 1/1 : linux-2.5.49-uc0 (MMU-less fix ups)
Hi All,
An update of the uClinux (MMU-less) fixups against 2.5.49. Nothing much new, this is just keeping the fixes up to date.
http://www.uclinux.org/pub/uClinux/uClinux-2.5.x/linux-2.5.49-uc0.patch.gz
Changelog:
1. patch against 2.5.49 (me)
2. v850 additions (Miles Bader)
Also updated:
. Motorola 68328 framebuffer driver
http://www.uclinux.org/pub/uClinux/uClinux-2.5.x/linux-2.5.49-uc0-68328fb.patch.gz
. Hitachi H8300 achitecture support
http://www.uclinux.org/pub/uClinux/uClinux-2.5.x/linux-2.5.49-uc0-h8300.patch.gz
Regards
Greg
------------------------------------------------------------------------
Greg Ungerer -- Chief Software Wizard EMAIL: [email protected]
Snapgear Pty Ltd PHONE: +61 7 3279 1822
825 Stanley St, FAX: +61 7 3279 1820
Woolloongabba, QLD, 4102, Australia WEB: www.SnapGear.com
v850 update for 2.5.49-uc0:
v850/as85ep1.ld renamed from orig/linux-2.5.49-uc0/arch/v850/as85ep1.ld +6 -4
@@ -13,10 +13,11 @@ /* 1MB of static RAM. */ SRAM : ORIGIN = 0x00400000, LENGTH = 0x00100000 - /* 64MB of DRAM. This can actually be at one of two positions, - determined by jump JP3; we use the second position because the - first only allows access to 56MB. */ - SDRAM : ORIGIN = 0x04000000, LENGTH = 0x04000000 + /* About 58MB of DRAM. This can actually be at one of two positions, + determined by jump JP3; we have to use the first position because the + second is partially out of processor instruction addressing range + (though in the second position there's actually 64MB available). */ + SDRAM : ORIGIN = 0x00600000, LENGTH = 0x039F8000 } SECTIONS {
@@ -138,6 +139,7 @@ /* Device contents for the root filesystem. */ .root : { + . = ALIGN (4096) ; __root_fs_image_start = . ; *(.root) __root_fs_image_end = . ;
v850/kernel/anna.c renamed from orig/linux-2.5.49-uc0/arch/v850/kernel/anna.c +1 -1
@@ -33,7 +33,7 @@#define RAM_END (SDRAM_ADDR + SDRAM_SIZE)/* The bits of this port are connected to an 8-LED bar-graph. */ -#define LEDS_PORT 4 +#define LEDS_PORT 0static void anna_led_tick (void );
v850/kernel/process.c renamed from orig/linux-2.5.49-uc0/arch/v850/kernel/process.c +1 -1
@@ -231,7 +231,7 @@are in entry.S). */ int fork_common (int flags,unsigned long new_sp,struct pt_regs *regs) { -struct task_struct *p =do_fork (flags, new_sp, regs,0 ,0 ); +struct task_struct *p =do_fork (flags, new_sp, regs,0 ,0 ,0 );return IS_ERR (p) ?PTR_ERR (p) : p->pid; }
asm-v850/as85ep1.h renamed from orig/linux-2.5.49-uc0/include/asm-v850/as85ep1.h +7 -7
@@ -21,19 +21,19 @@#define PLATFORM "AS85EP1"#define PLATFORM_LONG "NEC V850E/AS85EP1 evaluation board" -#define CPU_CLOCK_FREQ 100000000/* 100MHz */ +#define CPU_CLOCK_FREQ 96000000/* 96MHz */ #define SYS_CLOCK_FREQ CPU_CLOCK_FREQ/* 1MB of static RAM. */ #define SRAM_ADDR 0x00400000#define SRAM_SIZE 0x00100000/* 1MB */ -/* 64MB of DRAM. This can actually be at one of two positions, determined -by jump JP3; we use the second position because the first only allows -access to 56MB. */ -#define SDRAM_ADDR 0x04000000 -#define SDRAM_SIZE 0x04000000/* 64MB */ - +/* About 58MB of DRAM. This can actually be at one of two positions, +determined by jump JP3; we have to use the first position because the +second is partially out of processor instruction addressing range +(though in the second position there's actually 64MB available). */ +#define SDRAM_ADDR 0x00600000 +#define SDRAM_SIZE 0x039F8000/* approx 58MB */ /* For <asm/page.h> */ #define PAGE_OFFSET SRAM_ADDR
asm-v850/nb85e_uart.h renamed from orig/linux-2.5.49-uc0/include/asm-v850/nb85e_uart.h +3 -1
@@ -43,6 +43,9 @@#define NB85E_UART_BRGC_ADDR (n) (NB85E_UART_BASE_ADDR(n) + 0x7)#endif +#ifndef NB85E_UART_CKSR_MAX_FREQ +#define NB85E_UART_CKSR_MAX_FREQ (25*1000*1000) +#endif /* UART config registers. */ #define NB85E_UART_ASIM (n) (*(volatile u8 *)NB85E_UART_ASIM_ADDR(n))
@@ -81,7 +84,6 @@/* UART baud-rate generator control registers. */ #define NB85E_UART_CKSR (n) (*(volatile u8 *)NB85E_UART_CKSR_ADDR(n))#define NB85E_UART_CKSR_MAX 11 -#define NB85E_UART_CKSR_MAX_FREQ (25*1000*1000)#define NB85E_UART_BRGC (n) (*(volatile u8 *)NB85E_UART_BRGC_ADDR(n))
Thanks,
-Miles
Signature · 3 lines
[|nurgle|] ddt- demonic? so quake will have an evil kinda setting? one that
will make every christian in the world foamm at the mouth?
[iddt] nurg, that's the goal A message that is not in the archive (sent off-list or not yet received): [email protected]
Hi,
Here's another v850 update for 2.5.49-uc0 (applies on top of the previous one). Mostly stuff for the new module mechanism.
Patch:
v850/kernel/Makefile renamed from orig/linux-2.5.49-uc0/arch/v850/kernel/Makefile +1 -1
@@ -15,7 +15,7 @@ signal.o irq.o mach.o ptrace.o bug.o export-objs += v850_ksyms.o rte_mb_a_pci.o -obj-$(CONFIG_MODULES) += v850_ksyms.o +obj-$(CONFIG_MODULES) += module.o v850_ksyms.o # chip-specific code obj-$(CONFIG_V850E_MA1) += ma.o nb85e_utils.o nb85e_timer_d.o obj-$(CONFIG_V850E_NB85E) += nb85e_intc.o
v850/kernel/bug.c renamed from orig/linux-2.5.49-uc0/arch/v850/kernel/bug.c +73 -0
76 lines not on this page · raw message
v850/kernel/gbus_int.c renamed from orig/linux-2.5.49-uc0/arch/v850/kernel/gbus_int.c +2 -3
@@ -14,11 +14,10 @@#include <linux/types.h> #include <linux/init.h> #include <linux/irq.h> -#include <linux/sched.h> /* For some unfathomable reason, -request_irq/free_irq are declared here. */ +#include <linux/interrupt.h> +#include <linux/signal.h> #include <asm/machdep.h> -#include <asm/irq.h> /* The number of shared GINT interrupts. */
v850/kernel/module.c renamed from orig/linux-2.5.49-uc0/arch/v850/kernel/module.c +225 -0
225 lines not on this page · raw message
v850/kernel/process.c renamed from orig/linux-2.5.49-uc0/arch/v850/kernel/process.c +0 -43
49 lines not on this page · raw message
v850/kernel/v850_ksyms.c renamed from orig/linux-2.5.49-uc0/arch/v850/kernel/v850_ksyms.c +3 -0
@@ -27,6 +27,9 @@extern void dump_thread (struct pt_regs *,struct user *);EXPORT_SYMBOL (dump_thread);EXPORT_SYMBOL (kernel_thread); +EXPORT_SYMBOL (enable_irq); +EXPORT_SYMBOL (disable_irq); +EXPORT_SYMBOL (disable_irq_nosync);EXPORT_SYMBOL (__bug);/* Networking helper routines. */
asm-v850/elf.h renamed from orig/linux-2.5.49-uc0/include/asm-v850/elf.h +2 -1
@@ -19,7 +19,8 @@/* * This is used to ensure we don't load something for the wrong architecture. */ -#define elf_check_arch (x) ( (x)->e_machine == EM_CYGNUS_V850 ) +#define elf_check_arch (x) \ + ((x)->e_machine == EM_V850 || (x)->e_machine == EM_CYGNUS_V850)/* * These are used to set parameters in the core dumps.
asm-v850/irq.h renamed from orig/linux-2.5.49-uc0/include/asm-v850/irq.h +11 -0
@@ -52,6 +52,17 @@interrupt. */ extern unsigned int handle_irq (int irq,struct pt_regs *regs); + +/* Enable interrupt handling on an irq. */ +extern void enable_irq (unsigned int irq); + +/* Disable an irq and wait for completion. */ +extern void disable_irq (unsigned int irq); + +/* Disable an irq without waiting. */ +extern void disable_irq_nosync (unsigned int irq); + +#endif /* !__ASSEMBLY__ */ #endif /* __V850_IRQ_H__ */
asm-v850/module.h renamed from orig/linux-2.5.49-uc0/include/asm-v850/module.h +24 -4
@@ -3,20 +3,40 @@* * Copyright (C) 2001,02 NEC Corporation * Copyright (C) 2001,02 Miles Bader <[email protected]> +* Copyright (C) 2001 Rusty Russell * * This file is subject to the terms and conditions of the GNU General * Public License. See the file COPYING in the main directory of this * archive for more details. * * Written by Miles Bader <[email protected]> +* +* Derived in part from include/asm-ppc/module.h */ #ifndef __V850_MODULE_H__#define __V850_MODULE_H__ -#define arch_init_modules (x) ((void)0) -#define module_arch_init (x) (0) -#define module_map (sz) vmalloc (sz) -#define module_unmap (sz) vfree (sz) +#define MODULE_SYMBOL_PREFIX "_" + +struct v850_plt_entry +{ +/* Indirect jump instruction sequence (6-byte mov + 2-byte jr). */ +unsigned long tramp[2 ]; +}; + +struct mod_arch_specific +{ +/* How much of the core is actually taken up with core (then +we know the rest is for the PLT). */ +unsigned int core_plt_offset; + +/* Same for init. */ +unsigned int init_plt_offset; +}; + +#define Elf_Shdr Elf32_Shdr +#define Elf_Sym Elf32_Sym +#define Elf_Ehdr Elf32_Ehdr#endif /* __V850_MODULE_H__ */
Thanks,
-Miles
Signature · 1 line
"1971 pickup truck; will trade for guns"