adeos-ipipe-2.6.23-powerpc-DENX-2.0-01.patch
Subsystems (16)
PATCH 1/1 adeos-ipipe-2.6.23-powerpc-DENX-2.0-01.patch
Hello,
attached is a patch for "arch/powerpc" for the DENX GIT tree linux-2.6-denx version 2.6.23. It should replace the patch adeos-ipipe-2.6.23-rc5-powerpc-DENX-2.0-01.patch. It just needed adaption for the renaming of head_4xx.S to head_40x.S in arch/powerpc/kernel/.
Wolfgang.
+ diff -u linux-2.6-denx/arch/powerpc/boot/Makefile.ORIG linux-2.6-denx/arch/powerpc/boot/Makefile
arch/powerpc/boot/Makefile renamed from arch/powerpc/boot/Makefile.ORIG +8 -0
@@ -25,6 +25,14 @@ -isystem $(shell $(CROSS32CC) -print-file-name=include) BOOTAFLAGS := -D__ASSEMBLY__ $(BOOTCFLAGS) -traditional -nostdinc +ifdef CONFIG_IPIPE_TRACE +# do not trace the boot loader +nullstring := +space := $(nullstring) # end of the line +pg_flag = $(nullstring) -pg # end of the line +BOOTCFLAGS := $(subst ${pg_flag},${space},${BOOTCFLAGS}) +endif + ifeq ($(call cc-option-yn, -fstack-protector),y) BOOTCFLAGS += -fno-stack-protector endif
+ diff -u linux-2.6-denx/arch/powerpc/Kconfig.ORIG linux-2.6-denx/arch/powerpc/Kconfig
arch/powerpc/Kconfig renamed from arch/powerpc/Kconfig.ORIG +22 -0
@@ -76,6 +76,10 @@ depends on COMPAT && SYSVIPC default y +config SOFTDISABLE + bool + default (PPC64 && !IPIPE) + # All PPC32s use generic nvram driver through ppc_md config GENERIC_NVRAM bool
@@ -152,6 +156,24 @@ menu "Kernel options" +source "kernel/ipipe/Kconfig" + +if IPIPE +config RUNLATCH + bool "Enable RUNLATCH support" + depends on PPC64 + default n if IPIPE + ---help--- + This option is costly latency-wise, so default is to keep + it off when the interrupt pipeline is enabled. +endif +if !IPIPE +config RUNLATCH + bool + depends on PPC64 + default y +endif + config HIGHMEM bool "High memory support" depends on PPC32
+ diff -u linux-2.6-denx/arch/powerpc/kernel/asm-offsets.c.ORIG linux-2.6-denx/arch/powerpc/kernel/asm-offsets.c
arch/powerpc/kernel/asm-offsets.c renamed from arch/powerpc/kernel/asm-offsets.c.ORIG +6 -0
@@ -117,8 +117,12 @@DEFINE (PACASTABRR , offsetof(struct paca_struct , stab_rr));DEFINE (PACAR1 , offsetof(struct paca_struct , saved_r1));DEFINE (PACATOC , offsetof(struct paca_struct , kernel_toc)); +#ifdef CONFIG_SOFTDISABLE DEFINE (PACASOFTIRQEN , offsetof(struct paca_struct , soft_enabled));DEFINE (PACAHARDIRQEN , offsetof(struct paca_struct , hard_enabled)); +#elif CONFIG_IPIPE +DEFINE (PACAROOTPCPU , offsetof(struct paca_struct , root_percpu)); +#endif DEFINE (PACASLBCACHE , offsetof(struct paca_struct , slb_cache));DEFINE (PACASLBCACHEPTR , offsetof(struct paca_struct , slb_cache_ptr)); DEFINE(PACACONTEXTID, offsetof(struct paca_struct, context.id));
@@ -241,7 +245,9 @@DEFINE (_DEAR,STACK_FRAME_OVERHEAD +offsetof(struct pt_regs , dar));DEFINE (_ESR,STACK_FRAME_OVERHEAD +offsetof(struct pt_regs , dsisr));#else /* CONFIG_PPC64 */ +#if defined(CONFIG_SOFTDISABLE ) || defined(CONFIG_IPIPE )DEFINE (SOFTE ,STACK_FRAME_OVERHEAD +offsetof(struct pt_regs , softe)); +#endif /* These _only_ to be used with {PROM,RTAS}_FRAME_SIZE!!! */ DEFINE (_SRR0,STACK_FRAME_OVERHEAD +sizeof (struct pt_regs ));
+ diff -u linux-2.6-denx/arch/powerpc/kernel/cputable.c.ORIG linux-2.6-denx/arch/powerpc/kernel/cputable.c
arch/powerpc/kernel/cputable.c renamed from arch/powerpc/kernel/cputable.c.ORIG +2 -2
@@ -1387,7 +1387,7 @@#endif /* CONFIG_PPC32 */ }; -struct cpu_spec *identify_cpu (unsigned long offset,unsigned int pvr) +notrace struct cpu_spec *identify_cpu(unsigned long offset, unsigned int pvr) {struct cpu_spec *s = cpu_specs;struct cpu_spec **cur = &cur_cpu_spec;
@@ -1416,7 +1416,7 @@return NULL ; } -void do_feature_fixups (unsigned long value,void *fixup_start,void *fixup_end) +notrace void do_feature_fixups(unsigned long value, void *fixup_start, void *fixup_end) {struct fixup_entry {unsigned long mask;
+ diff -u linux-2.6-denx/arch/powerpc/kernel/entry_32.S.ORIG linux-2.6-denx/arch/powerpc/kernel/entry_32.S
arch/powerpc/kernel/entry_32.S renamed from arch/powerpc/kernel/entry_32.S.ORIG +91 -0
139 lines not on this page · raw message
+ diff -u linux-2.6-denx/arch/powerpc/kernel/entry_64.S.ORIG linux-2.6-denx/arch/powerpc/kernel/entry_64.S
arch/powerpc/kernel/entry_64.S renamed from arch/powerpc/kernel/entry_64.S.ORIG +133 -7
253 lines not on this page · raw message
+ diff -u linux-2.6-denx/arch/powerpc/kernel/head_32.S.ORIG linux-2.6-denx/arch/powerpc/kernel/head_32.S
arch/powerpc/kernel/head_32.S renamed from arch/powerpc/kernel/head_32.S.ORIG +14 -0
@@ -309,6 +309,12 @@ EXC_XFER_TEMPLATE(n, hdlr, n, NOCOPY, transfer_to_handler_full, \ ret_from_except_full) +#ifdef CONFIG_IPIPE +#define EXC_XFER_IPIPE(n, hdlr) \ + EXC_XFER_TEMPLATE(n, hdlr, n+1, NOCOPY, transfer_to_handler, \ + __ipipe_ret_from_except) +#endif /* CONFIG_IPIPE */ + #define EXC_XFER_LITE(n, hdlr) \ EXC_XFER_TEMPLATE(n, hdlr, n+1, NOCOPY, transfer_to_handler, \ ret_from_except)
@@ -393,7 +399,11 @@ EXC_XFER_EE_LITE(0x400, handle_page_fault) /* External interrupt */ +#ifdef CONFIG_IPIPE + EXCEPTION(0x500, HardwareInterrupt, __ipipe_grab_irq, EXC_XFER_IPIPE) +#else /* !CONFIG_IPIPE */ EXCEPTION(0x500, HardwareInterrupt, do_IRQ, EXC_XFER_LITE) +#endif /* CONFIG_IPIPE */ /* Alignment exception */ . = 0x600
@@ -425,7 +435,11 @@ EXC_XFER_EE_LITE(0x800, kernel_fp_unavailable_exception) /* Decrementer */ +#ifdef CONFIG_IPIPE + EXCEPTION(0x900, Decrementer, __ipipe_grab_timer, EXC_XFER_IPIPE) +#else /* !CONFIG_IPIPE */ EXCEPTION(0x900, Decrementer, timer_interrupt, EXC_XFER_LITE) +#endif /* CONFIG_IPIPE */ EXCEPTION(0xa00, Trap_0a, unknown_exception, EXC_XFER_EE) EXCEPTION(0xb00, Trap_0b, unknown_exception, EXC_XFER_EE)
+ diff -u linux-2.6-denx/arch/powerpc/kernel/head_40x.S.ORIG linux-2.6-denx/arch/powerpc/kernel/head_40x.S
arch/powerpc/kernel/head_40x.S renamed from arch/powerpc/kernel/head_40x.S.ORIG +14 -0
@@ -227,6 +227,12 @@ EXC_XFER_TEMPLATE(hdlr, n, MSR_KERNEL, NOCOPY, transfer_to_handler_full, \ ret_from_except_full) +#ifdef CONFIG_IPIPE +#define EXC_XFER_IPIPE(n, hdlr) \ + EXC_XFER_TEMPLATE(hdlr, n+1, MSR_KERNEL, NOCOPY, transfer_to_handler, \ + __ipipe_ret_from_except) +#endif /* CONFIG_IPIPE */ + #define EXC_XFER_LITE(n, hdlr) \ EXC_XFER_TEMPLATE(hdlr, n+1, MSR_KERNEL, NOCOPY, transfer_to_handler, \ ret_from_except)
@@ -395,7 +401,11 @@ EXC_XFER_EE_LITE(0x400, handle_page_fault) /* 0x0500 - External Interrupt Exception */ +#ifdef CONFIG_IPIPE + EXCEPTION(0x0500, HardwareInterrupt, __ipipe_grab_irq, EXC_XFER_IPIPE) +#else /* !CONFIG_IPIPE */ EXCEPTION(0x0500, HardwareInterrupt, do_IRQ, EXC_XFER_LITE) +#endif /* CONFIG_IPIPE */ /* 0x0600 - Alignment Exception */ START_EXCEPTION(0x0600, Alignment)
@@ -433,7 +443,11 @@ lis r0,TSR_PIS@h mtspr SPRN_TSR,r0 /* Clear the PIT exception */ addi r3,r1,STACK_FRAME_OVERHEAD +#ifdef CONFIG_IPIPE + EXC_XFER_IPIPE(0x1000, __ipipe_grab_timer) +#else /* !CONFIG_IPIPE */ EXC_XFER_LITE(0x1000, timer_interrupt) +#endif /* CONFIG_IPIPE */ #if 0 /* NOTE:
+ diff -u linux-2.6-denx/arch/powerpc/kernel/head_44x.S.ORIG linux-2.6-denx/arch/powerpc/kernel/head_44x.S
arch/powerpc/kernel/head_44x.S renamed from arch/powerpc/kernel/head_44x.S.ORIG +5 -2
@@ -416,8 +416,11 @@ /* Instruction Storage Interrupt */ INSTRUCTION_STORAGE_EXCEPTION - /* External Input Interrupt */ - EXCEPTION(0x0500, ExternalInput, do_IRQ, EXC_XFER_LITE) +#ifdef CONFIG_IPIPE + EXCEPTION(0x0500, ExternalInput, __ipipe_grab_irq, EXC_XFER_IPIPE) +#else /* !CONFIG_IPIPE */ + EXCEPTION(0x0500, ExternalInput, do_IRQ, EXC_XFER_LITE) +#endif /* CONFIG_IPIPE */ /* Alignment Interrupt */ ALIGNMENT_EXCEPTION
+ diff -u linux-2.6-denx/arch/powerpc/kernel/head_64.S.ORIG linux-2.6-denx/arch/powerpc/kernel/head_64.S
arch/powerpc/kernel/head_64.S renamed from arch/powerpc/kernel/head_64.S.ORIG +132 -16
328 lines not on this page · raw message
+ diff -u linux-2.6-denx/arch/powerpc/kernel/head_8xx.S.ORIG linux-2.6-denx/arch/powerpc/kernel/head_8xx.S
arch/powerpc/kernel/head_8xx.S renamed from arch/powerpc/kernel/head_8xx.S.ORIG +14 -0
@@ -187,6 +187,12 @@ EXC_XFER_TEMPLATE(n, hdlr, n, NOCOPY, transfer_to_handler_full, \ ret_from_except_full) +#ifdef CONFIG_IPIPE +#define EXC_XFER_IPIPE(n, hdlr) \ + EXC_XFER_TEMPLATE(n, hdlr, n+1, NOCOPY, transfer_to_handler, \ + __ipipe_ret_from_except) +#endif /* CONFIG_IPIPE */ + #define EXC_XFER_LITE(n, hdlr) \ EXC_XFER_TEMPLATE(n, hdlr, n+1, NOCOPY, transfer_to_handler, \ ret_from_except)
@@ -238,7 +244,11 @@ EXC_XFER_EE_LITE(0x400, handle_page_fault) /* External interrupt */ +#ifdef CONFIG_IPIPE + EXCEPTION(0x500, HardwareInterrupt, __ipipe_grab_irq, EXC_XFER_IPIPE) +#else /* !CONFIG_IPIPE */ EXCEPTION(0x500, HardwareInterrupt, do_IRQ, EXC_XFER_LITE) +#endif /* CONFIG_IPIPE */ /* Alignment exception */ . = 0x600
@@ -259,7 +269,11 @@ EXCEPTION(0x800, FPUnavailable, unknown_exception, EXC_XFER_STD) /* Decrementer */ +#ifdef CONFIG_IPIPE + EXCEPTION(0x900, Decrementer, __ipipe_grab_timer, EXC_XFER_IPIPE) +#else /* !CONFIG_IPIPE */ EXCEPTION(0x900, Decrementer, timer_interrupt, EXC_XFER_LITE) +#endif /* CONFIG_IPIPE */ EXCEPTION(0xa00, Trap_0a, unknown_exception, EXC_XFER_EE) EXCEPTION(0xb00, Trap_0b, unknown_exception, EXC_XFER_EE)
+ diff -u linux-2.6-denx/arch/powerpc/kernel/head_booke.h.ORIG linux-2.6-denx/arch/powerpc/kernel/head_booke.h
arch/powerpc/kernel/head_booke.h renamed from arch/powerpc/kernel/head_booke.h.ORIG +16 -0
@@ -187,6 +187,12 @@EXC_XFER_TEMPLATE (hdlr, n,MSR_KERNEL ,NOCOPY , transfer_to_handler_full, \ ret_from_except_full) +#ifdef CONFIG_IPIPE +#define EXC_XFER_IPIPE (n, hdlr) \ + EXC_XFER_TEMPLATE(hdlr, n+1, MSR_KERNEL, NOCOPY, transfer_to_handler, \ + __ipipe_ret_from_except) +#endif /* CONFIG_IPIPE */ +#define EXC_XFER_LITE (n, hdlr) \ EXC_XFER_TEMPLATE(hdlr, n+1, MSR_KERNEL, NOCOPY, transfer_to_handler, \ ret_from_except)
@@ -345,6 +351,15 @@addi r3,r1,STACK_FRAME_OVERHEAD ; \ EXC_XFER_STD(0x0700, program_check_exception) +#ifdef CONFIG_IPIPE +#define DECREMENTER_EXCEPTION \ + START_EXCEPTION(Decrementer) \ + NORMAL_EXCEPTION_PROLOG; \ + lis r0,TSR_DIS@h;/* Setup the DEC interrupt mask */ \ +mtspr SPRN_TSR ,r0;/* Clear the DEC interrupt */ \ +addi r3,r1,STACK_FRAME_OVERHEAD ; \ + EXC_XFER_IPIPE(0x0900, __ipipe_grab_timer) +#else /* !CONFIG_IPIPE */ #define DECREMENTER_EXCEPTION \ START_EXCEPTION(Decrementer) \ NORMAL_EXCEPTION_PROLOG; \
@@ -352,6 +367,7 @@mtspr SPRN_TSR ,r0;/* Clear the DEC interrupt */ \addi r3,r1,STACK_FRAME_OVERHEAD ; \ EXC_XFER_LITE(0x0900, timer_interrupt) +#endif /* CONFIG_IPIPE */ #define FP_UNAVAILABLE_EXCEPTION \ START_EXCEPTION(FloatingPointUnavailable) \
+ diff -u linux-2.6-denx/arch/powerpc/kernel/head_fsl_booke.S.ORIG linux-2.6-denx/arch/powerpc/kernel/head_fsl_booke.S
arch/powerpc/kernel/head_fsl_booke.S renamed from arch/powerpc/kernel/head_fsl_booke.S.ORIG +4 -0
@@ -529,7 +529,11 @@ INSTRUCTION_STORAGE_EXCEPTION /* External Input Interrupt */ +#ifdef CONFIG_IPIPE + EXCEPTION(0x0500, ExternalInput, __ipipe_grab_irq, EXC_XFER_IPIPE) +#else /* !CONFIG_IPIPE */ EXCEPTION(0x0500, ExternalInput, do_IRQ, EXC_XFER_LITE) +#endif /* CONFIG_IPIPE */ /* Alignment Interrupt */ ALIGNMENT_EXCEPTION
+ diff -u linux-2.6-denx/arch/powerpc/kernel/idle.c.ORIG linux-2.6-denx/arch/powerpc/kernel/idle.c
arch/powerpc/kernel/idle.c renamed from arch/powerpc/kernel/idle.c.ORIG +3 -2
@@ -61,6 +61,7 @@while (1 ) {while (!need_resched () && !cpu_should_die ()) {ppc64_runlatch_off (); +ipipe_suspend_domain ();if (ppc_md.power_save) {clear_thread_flag (TIF_POLLING_NRFLAG );
@@ -69,13 +70,13 @@* is ordered w.r.t. need_resched() test. */ smp_mb (); -local_irq_disable (); +local_irq_disable_hw ();/* check again after disabling irqs */ if (!need_resched () && !cpu_should_die ()) ppc_md.power_save (); -local_irq_enable (); +local_irq_enable_hw ();set_thread_flag (TIF_POLLING_NRFLAG ); }else {
+ diff -u linux-2.6-denx/arch/powerpc/kernel/idle_power4.S.ORIG linux-2.6-denx/arch/powerpc/kernel/idle_power4.S
arch/powerpc/kernel/idle_power4.S renamed from arch/powerpc/kernel/idle_power4.S.ORIG +4 -0
@@ -34,9 +34,11 @@ rldicl r0,r7,48,1 rotldi r0,r0,16 mtmsrd r0,1 /* hard-disable interrupts */ +#ifdef CONFIG_SOFTDISABLE li r0,1 stb r0,PACASOFTIRQEN(r13) /* we'll hard-enable shortly */ stb r0,PACAHARDIRQEN(r13) +#endif CONFIG_SOFTDISABLE BEGIN_FTR_SECTION DSSALL sync
@@ -59,10 +61,12 @@ rldicl r0,r7,48,1 rotldi r0,r0,16 mtmsrd r0,1 /* hard-disable interrupts */ +#ifdef CONFIG_SOFTDISABLE li r0,1 li r6,0 stb r0,PACAHARDIRQEN(r13) /* we'll hard-enable shortly */ stb r6,PACASOFTIRQEN(r13) /* soft-disable irqs */ +#endif BEGIN_FTR_SECTION DSSALL sync
+ diff -u linux-2.6-denx/arch/powerpc/kernel/io.c.ORIG linux-2.6-denx/arch/powerpc/kernel/io.c
arch/powerpc/kernel/io.c renamed from arch/powerpc/kernel/io.c.ORIG +1 -1
@@ -120,7 +120,7 @@#define IO_CHECK_ALIGN (v,a) ((((unsigned long)(v)) & ((a) - 1)) == 0) -void _memset_io (volatile void __iomem *addr,int c,unsigned long n) +notrace void _memset_io(volatile void __iomem *addr, int c, unsigned long n) {void *p = (void __force *)addr;u32 lc = c;
+ diff -u linux-2.6-denx/arch/powerpc/kernel/ipipe.c.ORIG linux-2.6-denx/arch/powerpc/kernel/ipipe.c
arch/powerpc/kernel/ipipe.c renamed from arch/powerpc/kernel/ipipe.c.ORIG +788 -0
788 lines not on this page · raw message
+ diff -u linux-2.6-denx/arch/powerpc/kernel/irq.c.ORIG linux-2.6-denx/arch/powerpc/kernel/irq.c
arch/powerpc/kernel/irq.c renamed from arch/powerpc/kernel/irq.c.ORIG +6 -1
@@ -70,7 +70,7 @@#endif int __irq_offset_value; -static int ppc_spurious_interrupts; +int ppc_spurious_interrupts;#ifdef CONFIG_PPC32 EXPORT_SYMBOL (__irq_offset_value);
@@ -97,6 +97,8 @@int distribute_irqs =1 ; +#ifdef CONFIG_SOFTDISABLE +static inline unsigned long get_hard_enabled (void ) {unsigned long enabled;
@@ -174,6 +176,9 @@__hard_irq_enable (); } + +#endif /* !CONFIG_SOFTDISABLE */ +#endif /* CONFIG_PPC64 */ int show_interrupts (struct seq_file *p,void *v)
+ diff -u linux-2.6-denx/arch/powerpc/kernel/Makefile.ORIG linux-2.6-denx/arch/powerpc/kernel/Makefile
arch/powerpc/kernel/Makefile renamed from arch/powerpc/kernel/Makefile.ORIG +6 -0
@@ -22,6 +22,12 @@ firmware.o sysfs.o nvram_64.o obj-$(CONFIG_PPC64) += vdso64/ obj-$(CONFIG_ALTIVEC) += vecemu.o vector.o +obj-$(CONFIG_IPIPE) += ipipe.o +ifeq ($(CONFIG_PPC64),y) +obj-$(CONFIG_IPIPE_TRACE_MCOUNT) += mcount_64.o +else +obj-$(CONFIG_IPIPE_TRACE_MCOUNT) += mcount_32.o +endif obj-$(CONFIG_PPC_970_NAP) += idle_power4.o obj-$(CONFIG_PPC_OF) += of_device.o of_platform.o prom_parse.o procfs-$(CONFIG_PPC64) := proc_ppc64.o
+ diff -u linux-2.6-denx/arch/powerpc/kernel/mcount_32.S.ORIG linux-2.6-denx/arch/powerpc/kernel/mcount_32.S
arch/powerpc/kernel/mcount_32.S renamed from arch/powerpc/kernel/mcount_32.S.ORIG +75 -0
75 lines not on this page · raw message
+ diff -u linux-2.6-denx/arch/powerpc/kernel/mcount_64.S.ORIG linux-2.6-denx/arch/powerpc/kernel/mcount_64.S
arch/powerpc/kernel/mcount_64.S renamed from arch/powerpc/kernel/mcount_64.S.ORIG +62 -0
62 lines not on this page · raw message
+ diff -u linux-2.6-denx/arch/powerpc/kernel/ppc_ksyms.c.ORIG linux-2.6-denx/arch/powerpc/kernel/ppc_ksyms.c
arch/powerpc/kernel/ppc_ksyms.c renamed from arch/powerpc/kernel/ppc_ksyms.c.ORIG +1 -1
@@ -49,7 +49,7 @@#include <asm/commproc.h> #endif -#ifdef CONFIG_PPC64 +#if defined(CONFIG_PPC64 ) && defined(CONFIG_SOFTDISABLE )EXPORT_SYMBOL (local_irq_restore);#endif
+ diff -u linux-2.6-denx/arch/powerpc/kernel/process.c.ORIG linux-2.6-denx/arch/powerpc/kernel/process.c
arch/powerpc/kernel/process.c renamed from arch/powerpc/kernel/process.c.ORIG +4 -4
@@ -325,7 +325,7 @@ }#endif -local_irq_save (flags); +local_irq_save_hw (flags);account_system_vtime (current);account_process_vtime (current);
@@ -335,7 +335,7 @@#ifdef CONFIG_PPC_PASEMI_A2_WORKAROUNDS /* current is still really us, just a different us :-) */ -if (current->mm) { +if (ipipe_root_domain_p && current->mm) {#ifdef CONFIG_PPC_64K_PAGES __hash_page_64K (0 , _PAGE_USER|_PAGE_RW,get_vsid (current->mm->context.id,0 ), ¤t->zero_pte.pte,0x300 ,1 );#else
@@ -344,7 +344,7 @@ }#endif -local_irq_restore (flags); +local_irq_restore_hw (flags);return last; }
@@ -984,7 +984,7 @@ }EXPORT_SYMBOL (dump_stack); -#ifdef CONFIG_PPC64 +#ifdef CONFIG_RUNLATCH void ppc64_runlatch_on (void ) {unsigned long ctrl;
+ diff -u linux-2.6-denx/arch/powerpc/kernel/setup_32.c.ORIG linux-2.6-denx/arch/powerpc/kernel/setup_32.c
arch/powerpc/kernel/setup_32.c renamed from arch/powerpc/kernel/setup_32.c.ORIG +1 -1
@@ -85,7 +85,7 @@* from the address that it was linked at, so we must use RELOC/PTRRELOC * to access static data (including strings). -- paulus */ -unsigned long __init early_init (unsigned long dt_ptr) +unsigned long notrace __init early_init (unsigned long dt_ptr) {unsigned long offset =reloc_offset ();struct cpu_spec *spec;
+ diff -u linux-2.6-denx/arch/powerpc/kernel/setup_64.c.ORIG linux-2.6-denx/arch/powerpc/kernel/setup_64.c
arch/powerpc/kernel/setup_64.c renamed from arch/powerpc/kernel/setup_64.c.ORIG +13 -0
@@ -225,8 +225,10 @@ {struct paca_struct *lpaca =get_paca (); +#ifdef CONFIG_SOFTDISABLE /* Mark interrupts enabled in PACA */ lpaca->soft_enabled =0 ; +#endif /* Initialize hash table for that CPU */ htab_initialize_secondary ();
@@ -348,6 +350,12 @@*/ void __init setup_system (void ) { +#ifdef CONFIG_IPIPE +/* Early temporary init, before per-cpu areas are moved to +* their final location. */ +get_paca ()->root_percpu = (u64)&ipipe_percpudom (&ipipe_root, status,0 ); +#endif +DBG (" -> setup_system()\n" );/* Apply the CPUs-specific and firmware specific fixups to kernel
@@ -596,6 +604,11 @@ paca[i].data_offset = ptr - __per_cpu_start; memcpy(ptr, __per_cpu_start, __per_cpu_end - __per_cpu_start); } +#ifdef CONFIG_IPIPE +/* Reset pointer to the relocated per-cpu root domain data. */ +get_paca ()->root_percpu = (u64)&ipipe_percpudom (&ipipe_root, status,0 ); +#endif + }#endif
+ diff -u linux-2.6-denx/arch/powerpc/kernel/smp.c.ORIG linux-2.6-denx/arch/powerpc/kernel/smp.c
arch/powerpc/kernel/smp.c renamed from arch/powerpc/kernel/smp.c.ORIG +3 -0
@@ -545,6 +545,9 @@ {unsigned int cpu =smp_processor_id (); +#ifdef CONFIG_IPIPE +get_paca ()->root_percpu = (u64)&ipipe_percpudom (&ipipe_root, status, cpu); +#endif atomic_inc (&init_mm.mm_count); current->active_mm = &init_mm;
+ diff -u linux-2.6-denx/arch/powerpc/kernel/time.c.ORIG linux-2.6-denx/arch/powerpc/kernel/time.c
arch/powerpc/kernel/time.c renamed from arch/powerpc/kernel/time.c.ORIG +13 -2
@@ -74,6 +74,8 @@#endif #include <asm/smp.h> +unsigned long disarm_decr[NR_CPUS ]; +/* keep track of when we need to update the rtc */ time_t last_rtc_update;#ifdef CONFIG_PPC_ISERIES
@@ -642,7 +644,7 @@u64 tb_next_jiffy;#ifdef CONFIG_PPC_PASEMI_A2_WORKAROUNDS -extern spinlock_t native_tlbie_lock; +extern ipipe_spinlock_t native_tlbie_lock;spin_lock (&native_tlbie_lock); asm("ptesync" );
@@ -655,7 +657,9 @@#endif old_regs =set_irq_regs (regs); +#ifndef CONFIG_IPIPE irq_enter (); +#endif profile_tick (CPU_PROFILING );calculate_steal_time ();
@@ -681,7 +685,11 @@* is the case. */ if (!cpu_is_offline(cpu)) +#ifdef CONFIG_IPIPE +account_process_time (&per_cpu (__ipipe_tick_regs, cpu)); +#else account_process_time (regs); +#endif /* * No need to check whether cpu is offline here; boot_cpuid
@@ -704,7 +712,8 @@ } next_dec = tb_ticks_per_jiffy - ticks; -set_dec (next_dec); +if ( !disarm_decr[cpu] ) +set_dec (next_dec);#ifdef CONFIG_PPC_ISERIES if (firmware_has_feature (FW_FEATURE_ISERIES ) &&hvlpevent_is_pending ())
@@ -719,7 +728,9 @@ }#endif +#ifndef CONFIG_IPIPE irq_exit (); +#endif set_irq_regs (old_regs); }
+ diff -u linux-2.6-denx/arch/powerpc/kernel/traps.c.ORIG linux-2.6-denx/arch/powerpc/kernel/traps.c
arch/powerpc/kernel/traps.c renamed from arch/powerpc/kernel/traps.c.ORIG +47 -1
149 lines not on this page · raw message
+ diff -u linux-2.6-denx/arch/powerpc/mm/fault.c.ORIG linux-2.6-denx/arch/powerpc/mm/fault.c
arch/powerpc/mm/fault.c renamed from arch/powerpc/mm/fault.c.ORIG +3 -0
@@ -149,6 +149,9 @@int trap =TRAP (regs);int is_exec = trap ==0x400 ; +if (ipipe_trap_notify (IPIPE_TRAP_ACCESS ,regs)) +return 0 ; +#if !(defined(CONFIG_4xx) || defined(CONFIG_BOOKE ))/* * Fortunately the bit assignments in SRR1 for an instruction
+ diff -u linux-2.6-denx/arch/powerpc/mm/hash_native_64.c.ORIG linux-2.6-denx/arch/powerpc/mm/hash_native_64.c
arch/powerpc/mm/hash_native_64.c renamed from arch/powerpc/mm/hash_native_64.c.ORIG +25 -9
@@ -37,9 +37,9 @@#define HPTE_LOCK_BIT 3#ifdef CONFIG_PPC_PASEMI_A2_WORKAROUNDS -DEFINE_SPINLOCK (native_tlbie_lock); +IPIPE_DEFINE_SPINLOCK (native_tlbie_lock);#else -static DEFINE_SPINLOCK (native_tlbie_lock); +static IPIPE_DEFINE_SPINLOCK (native_tlbie_lock);#endif static inline void __tlbie (unsigned long va,unsigned int psize)
@@ -133,7 +133,7 @@ unsigned long vflags, int psize) {struct hash_pte *hptep = htab_address + hpte_group; -unsigned long hpte_v, hpte_r; +unsigned long hpte_v, hpte_r, flags;int i;if (!(vflags &HPTE_V_BOLTED )) {
@@ -142,6 +142,8 @@ hpte_group, va, pa, rflags, vflags, psize); } +local_irq_save_hw (flags); +for (i =0 ; i <HPTES_PER_GROUP ; i++) {if (! (hptep->v &HPTE_V_VALID )) {/* retry with lock held */
@@ -154,8 +156,10 @@ hptep++; } -if (i ==HPTES_PER_GROUP ) +if (i ==HPTES_PER_GROUP ) { +local_irq_restore_hw (flags);return -1 ; + }#ifdef CONFIG_PPC_PASEMI_A2_WORKAROUNDS /* Workaround for bug 4910: No non-guarded access over IOB */
@@ -180,6 +184,8 @@*/ hptep->v = hpte_v; +local_irq_restore_hw (flags); + __asm__ __volatile__ ("ptesync" : : :"memory" );return i | (!!(vflags &HPTE_V_SECONDARY ) <<3 );
@@ -190,13 +196,15 @@struct hash_pte *hptep;int i;int slot_offset; -unsigned long hpte_v; +unsigned long hpte_v, flags;DBG_LOW (" remove(group=%lx)\n" , hpte_group);/* pick a random entry to start at */ slot_offset =mftb () &0x7 ; +local_irq_save_hw (flags); +for (i =0 ; i <HPTES_PER_GROUP ; i++) { hptep = htab_address + hpte_group + slot_offset; hpte_v = hptep->v;
@@ -215,12 +223,16 @@ slot_offset &=0x7 ; } -if (i ==HPTES_PER_GROUP ) +if (i ==HPTES_PER_GROUP ) { +local_irq_restore_hw (flags);return -1 ; + }/* Invalidate the hpte. NOTE: this also unlocks it */ hptep->v =0 ; +local_irq_restore_hw (flags); +return i; }
@@ -228,7 +240,7 @@ unsigned long va, int psize, int local) { struct hash_pte *hptep = htab_address + slot; -unsigned long hpte_v, want_v; +unsigned long hpte_v, want_v, flags;int ret =0 ; want_v =hpte_encode_v (va, psize);
@@ -236,6 +248,8 @@DBG_LOW (" update(va=%016lx, avpnv=%016lx, hash=%016lx, newpp=%x)" , va, want_v &HPTE_V_AVPN , slot, newpp); +local_irq_save_hw (flags); +native_lock_hpte (hptep); hpte_v = hptep->v;
@@ -252,6 +266,8 @@ }native_unlock_hpte (hptep); +local_irq_restore_hw (flags); +/* Ensure it is out of the tlb too. */ tlbie (va, psize, local);
@@ -329,10 +345,10 @@unsigned long want_v;unsigned long flags; -local_irq_save (flags); -DBG_LOW (" invalidate(va=%016lx, hash: %x)\n" , va, slot); +local_irq_save (flags); + want_v =hpte_encode_v (va, psize);native_lock_hpte (hptep); hpte_v = hptep->v;
+ diff -u linux-2.6-denx/arch/powerpc/mm/hash_utils_64.c.ORIG linux-2.6-denx/arch/powerpc/mm/hash_utils_64.c
arch/powerpc/mm/hash_utils_64.c renamed from arch/powerpc/mm/hash_utils_64.c.ORIG +5 -1
@@ -104,7 +104,7 @@#ifdef CONFIG_DEBUG_PAGEALLOC static u8 *linear_map_hash_slots;static unsigned long linear_map_hash_count; -static DEFINE_SPINLOCK (linear_map_hash_lock); +static IPIPE_DEFINE_SPINLOCK (linear_map_hash_lock);#endif /* CONFIG_DEBUG_PAGEALLOC */ /* There are definitions of page sizes arrays to be used when none
@@ -881,6 +881,10 @@*/ void low_hash_fault (struct pt_regs *regs,unsigned long address) { +if (ipipe_trap_notify (IPIPE_TRAP_ACCESS , regs)) +/* Not all access faults go through do_page_fault(). */ +return ; +if (user_mode (regs)) {siginfo_t info;
+ diff -u linux-2.6-denx/arch/powerpc/mm/slb.c.ORIG linux-2.6-denx/arch/powerpc/mm/slb.c
arch/powerpc/mm/slb.c renamed from arch/powerpc/mm/slb.c.ORIG +10 -1
@@ -97,7 +97,7 @@unsigned long linear_llp, vmalloc_llp, lflags, vflags;unsigned long ksp_esid_data; -WARN_ON (!irqs_disabled ()); +WARN_ON (!irqs_disabled_hw ()); linear_llp = mmu_psize_defs[mmu_linear_psize].sllp; vmalloc_llp = mmu_psize_defs[mmu_vmalloc_psize].sllp;
@@ -177,6 +177,15 @@get_paca ()->slb_cache_ptr =0 ;get_paca ()->context = mm->context; +#ifdef CONFIG_IPIPE +if (!__ipipe_pipeline_head_p (ipipe_root_domain) && ipipe_root_domain_p) +/* Do not preload userspace segments if Linux does not +* head the pipeline but is current: this might delay +* higher priority domains (hw irqs are off right +* now, and slb allocation is expensive time-wise). */ +return ; +#endif +/* * preload some userspace segments into the SLB. */
+ diff -u linux-2.6-denx/arch/powerpc/platforms/cell/spu_base.c.ORIG linux-2.6-denx/arch/powerpc/platforms/cell/spu_base.c
arch/powerpc/platforms/cell/spu_base.c renamed from arch/powerpc/platforms/cell/spu_base.c.ORIG +1 -1
@@ -49,7 +49,7 @@/* * Protects cbe_spu_info and spu->number. */ -static DEFINE_SPINLOCK (spu_lock); +static IPIPE_DEFINE_SPINLOCK (spu_lock);/* * List of all spus in the system.
+ diff -u linux-2.6-denx/arch/powerpc/platforms/iseries/irq.c.ORIG linux-2.6-denx/arch/powerpc/platforms/iseries/irq.c
arch/powerpc/platforms/iseries/irq.c renamed from arch/powerpc/platforms/iseries/irq.c.ORIG +1 -1
@@ -80,7 +80,7 @@ } data; }; -static DEFINE_SPINLOCK (pending_irqs_lock); +static IPIPE_DEFINE_SPINLOCK (pending_irqs_lock);static int num_pending_irqs;static int pending_irqs[NR_IRQS ];
+ diff -u linux-2.6-denx/arch/powerpc/platforms/powermac/pic.c.ORIG linux-2.6-denx/arch/powerpc/platforms/powermac/pic.c
arch/powerpc/platforms/powermac/pic.c renamed from arch/powerpc/platforms/powermac/pic.c.ORIG +1 -1
@@ -63,7 +63,7 @@static int max_real_irqs;static u32 level_mask[4 ]; -static DEFINE_SPINLOCK (pmac_pic_lock); +static IPIPE_DEFINE_SPINLOCK (pmac_pic_lock);#define NR_MASK_WORDS ((NR_IRQS + 31) / 32)static unsigned long ppc_lost_interrupts[NR_MASK_WORDS ];
+ diff -u linux-2.6-denx/arch/powerpc/platforms/ps3/htab.c.ORIG linux-2.6-denx/arch/powerpc/platforms/ps3/htab.c
arch/powerpc/platforms/ps3/htab.c renamed from arch/powerpc/platforms/ps3/htab.c.ORIG +1 -1
@@ -39,7 +39,7 @@static unsigned char *bolttab;static unsigned char *inusetab; -static DEFINE_SPINLOCK (ps3_bolttab_lock); +static IPIPE_DEFINE_SPINLOCK (ps3_bolttab_lock);#define debug_dump_hpte (_a, _b, _c, _d, _e, _f, _g) \ _debug_dump_hpte(_a, _b, _c, _d, _e, _f, _g, __func__, __LINE__)
+ diff -u linux-2.6-denx/arch/powerpc/platforms/ps3/interrupt.c.ORIG linux-2.6-denx/arch/powerpc/platforms/ps3/interrupt.c
arch/powerpc/platforms/ps3/interrupt.c renamed from arch/powerpc/platforms/ps3/interrupt.c.ORIG +1 -1
@@ -72,7 +72,7 @@u64 unused_2[3 ]; };u64 ipi_debug_brk_mask; -spinlock_t lock; +ipipe_spinlock_t lock; };/**
+ diff -u linux-2.6-denx/arch/powerpc/platforms/pseries/lpar.c.ORIG linux-2.6-denx/arch/powerpc/platforms/pseries/lpar.c
arch/powerpc/platforms/pseries/lpar.c renamed from arch/powerpc/platforms/pseries/lpar.c.ORIG +1 -1
@@ -341,7 +341,7 @@return (slot &7 ) | (!!(vflags &HPTE_V_SECONDARY ) <<3 ); } -static DEFINE_SPINLOCK (pSeries_lpar_tlbie_lock); +static IPIPE_DEFINE_SPINLOCK (pSeries_lpar_tlbie_lock);static long pSeries_lpar_hpte_remove (unsigned long hpte_group) {
+ diff -u linux-2.6-denx/arch/powerpc/sysdev/i8259.c.ORIG linux-2.6-denx/arch/powerpc/sysdev/i8259.c
arch/powerpc/sysdev/i8259.c renamed from arch/powerpc/sysdev/i8259.c.ORIG +1 -1
@@ -23,7 +23,7 @@#define cached_A1 (cached_8259[0])#define cached_21 (cached_8259[1]) -static DEFINE_SPINLOCK (i8259_lock); +static IPIPE_DEFINE_SPINLOCK (i8259_lock);static struct device_node *i8259_node;static struct irq_host *i8259_host;
+ diff -u linux-2.6-denx/arch/powerpc/sysdev/ipic.c.ORIG linux-2.6-denx/arch/powerpc/sysdev/ipic.c
arch/powerpc/sysdev/ipic.c renamed from arch/powerpc/sysdev/ipic.c.ORIG +1 -1
@@ -30,7 +30,7 @@#include "ipic.h" static struct ipic * primary_ipic; -static DEFINE_SPINLOCK (ipic_lock); +static IPIPE_DEFINE_SPINLOCK (ipic_lock);static struct ipic_info ipic_info[] = { [9 ] = {
+ diff -u linux-2.6-denx/arch/powerpc/sysdev/mpic.c.ORIG linux-2.6-denx/arch/powerpc/sysdev/mpic.c
arch/powerpc/sysdev/mpic.c renamed from arch/powerpc/sysdev/mpic.c.ORIG +44 -6
124 lines not on this page · raw message
+ diff -u linux-2.6-denx/arch/powerpc/sysdev/tsi108_pci.c.ORIG linux-2.6-denx/arch/powerpc/sysdev/tsi108_pci.c
arch/powerpc/sysdev/tsi108_pci.c renamed from arch/powerpc/sysdev/tsi108_pci.c.ORIG +10 -0
@@ -251,7 +251,9 @@ {u_int irp_cfg;int int_line = (irq -IRQ_PCI_INTAD_BASE ); +unsigned long flags; +local_irq_save_hw_cond (flags); irp_cfg =tsi108_read_reg (TSI108_PCI_OFFSET +TSI108_PCI_IRP_CFG_CTL );mb (); irp_cfg |= (1 << int_line);/* INTx_DIR = output */
@@ -259,19 +261,23 @@tsi108_write_reg (TSI108_PCI_OFFSET +TSI108_PCI_IRP_CFG_CTL , irp_cfg);mb (); irp_cfg =tsi108_read_reg (TSI108_PCI_OFFSET +TSI108_PCI_IRP_CFG_CTL ); +local_irq_restore_hw_cond (flags); }static void tsi108_pci_int_unmask (u_int irq) {u_int irp_cfg;int int_line = (irq -IRQ_PCI_INTAD_BASE ); +unsigned long flags; +local_irq_save_hw_cond (flags); irp_cfg =tsi108_read_reg (TSI108_PCI_OFFSET +TSI108_PCI_IRP_CFG_CTL );mb (); irp_cfg &= ~(1 << int_line); irp_cfg |= (3 << (8 + (int_line *2 )));tsi108_write_reg (TSI108_PCI_OFFSET +TSI108_PCI_IRP_CFG_CTL , irp_cfg);mb (); +local_irq_restore_hw_cond (flags); }static void init_pci_source (void )
@@ -362,6 +368,9 @@static void tsi108_pci_irq_end (u_int irq) { +unsigned long flags; + +local_irq_save_hw_cond (flags);tsi108_pci_int_unmask (irq);/* Enable interrupts from PCI block */
@@ -369,6 +378,7 @@tsi108_read_reg (TSI108_PCI_OFFSET +TSI108_PCI_IRP_ENABLE ) | TSI108_PCI_IRP_ENABLE_P_INT); +local_irq_restore_hw_cond (flags);mb (); }
+ diff -u linux-2.6-denx/drivers/pci/htirq.c.ORIG linux-2.6-denx/drivers/pci/htirq.c
drivers/pci/htirq.c renamed from drivers/pci/htirq.c.ORIG +1 -1
@@ -21,7 +21,7 @@* With multiple simultaneous hypertransport irq devices it might pay * to make this more fine grained. But start with simple, stupid, and correct. */ -static DEFINE_SPINLOCK (ht_irq_lock); +static IPIPE_DEFINE_SPINLOCK (ht_irq_lock);struct ht_irq_cfg {struct pci_dev *dev;
+ diff -u linux-2.6-denx/drivers/serial/mpc52xx_uart.c.ORIG linux-2.6-denx/drivers/serial/mpc52xx_uart.c
drivers/serial/mpc52xx_uart.c renamed from drivers/serial/mpc52xx_uart.c.ORIG +34 -0
@@ -804,6 +804,40 @@#endif +#ifdef CONFIG_IPIPE + +#include <stdarg.h> + +void __ipipe_serial_debug (const char *fmt, ...) +{ +struct console *co = MPC52xx_PSC_CONSOLE; +unsigned long flags, count; +struct uart_port *port; +char buf[128 ]; +va_list ap; + +if (co->index <0 ) +return ;/* No console. */ + + port = &mpc52xx_uart_ports[co->index]; + +if (!port->mapbase) +return ;/* Too early. */ + +va_start (ap, fmt); +vsprintf (buf, fmt, ap); +va_end (ap); + count =strlen (buf); + +local_irq_save_hw (flags); +mpc52xx_console_write (co, buf, count); +local_irq_restore_hw (flags); +} + +EXPORT_SYMBOL (__ipipe_serial_debug); + +#endif +/* ======================================================================== */ /* UART Driver */ /* ======================================================================== */
+ diff -u linux-2.6-denx/include/asm-powerpc/hw_irq.h.ORIG linux-2.6-denx/include/asm-powerpc/hw_irq.h
include/asm-powerpc/hw_irq.h renamed from include/asm-powerpc/hw_irq.h.ORIG +266 -10
278 lines not on this page · raw message
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/include/asm-powerpc/ipipe_base.h.ORIG linux-2.6-denx/include/asm-powerpc/ipipe_base.h
include/asm-powerpc/ipipe_base.h renamed from include/asm-powerpc/ipipe_base.h.ORIG +148 -0
148 lines not on this page · raw message
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/include/asm-powerpc/ipipe.h.ORIG linux-2.6-denx/include/asm-powerpc/ipipe.h
include/asm-powerpc/ipipe.h renamed from include/asm-powerpc/ipipe.h.ORIG +205 -0
205 lines not on this page · raw message
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/include/asm-powerpc/mmu_context.h.ORIG linux-2.6-denx/include/asm-powerpc/mmu_context.h
include/asm-powerpc/mmu_context.h renamed from include/asm-powerpc/mmu_context.h.ORIG +6 -0
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/include/asm-powerpc/paca.h.ORIG linux-2.6-denx/include/asm-powerpc/paca.h
include/asm-powerpc/paca.h renamed from include/asm-powerpc/paca.h.ORIG +4 -0
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/include/asm-powerpc/ptrace.h.ORIG linux-2.6-denx/include/asm-powerpc/ptrace.h
include/asm-powerpc/ptrace.h renamed from include/asm-powerpc/ptrace.h.ORIG +1 -1
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/include/asm-powerpc/reg.h.ORIG linux-2.6-denx/include/asm-powerpc/reg.h
include/asm-powerpc/reg.h renamed from include/asm-powerpc/reg.h.ORIG +1 -1
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/include/asm-powerpc/time.h.ORIG linux-2.6-denx/include/asm-powerpc/time.h
include/asm-powerpc/time.h renamed from include/asm-powerpc/time.h.ORIG +4 -0
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/include/asm-ppc/mmu_context.h.ORIG linux-2.6-denx/include/asm-ppc/mmu_context.h
include/asm-ppc/mmu_context.h renamed from include/asm-ppc/mmu_context.h.ORIG +11 -1
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/include/linux/hardirq.h.ORIG linux-2.6-denx/include/linux/hardirq.h
include/linux/hardirq.h renamed from include/linux/hardirq.h.ORIG +2 -2
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/include/linux/ipipe_base.h.ORIG linux-2.6-denx/include/linux/ipipe_base.h
include/linux/ipipe_base.h renamed from include/linux/ipipe_base.h.ORIG +77 -0
77 lines not on this page · raw message
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/include/linux/ipipe_compat.h.ORIG linux-2.6-denx/include/linux/ipipe_compat.h
include/linux/ipipe_compat.h renamed from include/linux/ipipe_compat.h.ORIG +54 -0
54 lines not on this page · raw message
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/include/linux/ipipe.h.ORIG linux-2.6-denx/include/linux/ipipe.h
include/linux/ipipe.h renamed from include/linux/ipipe.h.ORIG +557 -0
557 lines not on this page · raw message
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/include/linux/ipipe_percpu.h.ORIG linux-2.6-denx/include/linux/ipipe_percpu.h
include/linux/ipipe_percpu.h renamed from include/linux/ipipe_percpu.h.ORIG +69 -0
69 lines not on this page · raw message
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/include/linux/ipipe_tickdev.h.ORIG linux-2.6-denx/include/linux/ipipe_tickdev.h
include/linux/ipipe_tickdev.h renamed from include/linux/ipipe_tickdev.h.ORIG +55 -0
55 lines not on this page · raw message
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/include/linux/ipipe_trace.h.ORIG linux-2.6-denx/include/linux/ipipe_trace.h
include/linux/ipipe_trace.h renamed from include/linux/ipipe_trace.h.ORIG +65 -0
65 lines not on this page · raw message
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/include/linux/irq.h.ORIG linux-2.6-denx/include/linux/irq.h
include/linux/irq.h renamed from include/linux/irq.h.ORIG +6 -0
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/include/linux/kernel.h.ORIG linux-2.6-denx/include/linux/kernel.h
include/linux/kernel.h renamed from include/linux/kernel.h.ORIG +6 -2
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/include/linux/linkage.h.ORIG linux-2.6-denx/include/linux/linkage.h
include/linux/linkage.h renamed from include/linux/linkage.h.ORIG +4 -0
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/include/linux/mm.h.ORIG linux-2.6-denx/include/linux/mm.h
include/linux/mm.h renamed from include/linux/mm.h.ORIG +1 -0
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/include/linux/module.h.ORIG linux-2.6-denx/include/linux/module.h
include/linux/module.h renamed from include/linux/module.h.ORIG +1 -1
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/include/linux/preempt.h.ORIG linux-2.6-denx/include/linux/preempt.h
include/linux/preempt.h renamed from include/linux/preempt.h.ORIG +8 -4
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/include/linux/sched.h.ORIG linux-2.6-denx/include/linux/sched.h
include/linux/sched.h renamed from include/linux/sched.h.ORIG +16 -0
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/include/linux/smp.h.ORIG linux-2.6-denx/include/linux/smp.h
include/linux/smp.h renamed from include/linux/smp.h.ORIG +2 -0
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/include/linux/spinlock.h.ORIG linux-2.6-denx/include/linux/spinlock.h
include/linux/spinlock.h renamed from include/linux/spinlock.h.ORIG +138 -22
160 lines not on this page · raw message
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/include/linux/spinlock_types.h.ORIG linux-2.6-denx/include/linux/spinlock_types.h
include/linux/spinlock_types.h renamed from include/linux/spinlock_types.h.ORIG +14 -0
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/init/Kconfig.ORIG linux-2.6-denx/init/Kconfig
init/Kconfig renamed from init/Kconfig.ORIG +1 -0
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/init/main.c.ORIG linux-2.6-denx/init/main.c
init/main.c renamed from init/main.c.ORIG +7 -1
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/kernel/exit.c.ORIG linux-2.6-denx/kernel/exit.c
kernel/exit.c renamed from kernel/exit.c.ORIG +1 -0
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/kernel/fork.c.ORIG linux-2.6-denx/kernel/fork.c
kernel/fork.c renamed from kernel/fork.c.ORIG +10 -1
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/kernel/ipipe/core.c.ORIG linux-2.6-denx/kernel/ipipe/core.c
kernel/ipipe/core.c renamed from kernel/ipipe/core.c.ORIG +1618 -0
1,618 lines not on this page · raw message
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/kernel/ipipe/Kconfig.debug.ORIG linux-2.6-denx/kernel/ipipe/Kconfig.debug
kernel/ipipe/Kconfig.debug renamed from kernel/ipipe/Kconfig.debug.ORIG +88 -0
88 lines not on this page · raw message
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/kernel/ipipe/Kconfig.ORIG linux-2.6-denx/kernel/ipipe/Kconfig
kernel/ipipe/Kconfig renamed from kernel/ipipe/Kconfig.ORIG +25 -0
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/kernel/ipipe/Makefile.ORIG linux-2.6-denx/kernel/ipipe/Makefile
kernel/ipipe/Makefile renamed from kernel/ipipe/Makefile.ORIG +3 -0
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/kernel/ipipe/tracer.c.ORIG linux-2.6-denx/kernel/ipipe/tracer.c
kernel/ipipe/tracer.c renamed from kernel/ipipe/tracer.c.ORIG +1294 -0
1,294 lines not on this page · raw message
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/kernel/irq/chip.c.ORIG linux-2.6-denx/kernel/irq/chip.c
kernel/irq/chip.c renamed from kernel/irq/chip.c.ORIG +129 -0
129 lines not on this page · raw message
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/kernel/Makefile.ORIG linux-2.6-denx/kernel/Makefile
kernel/Makefile renamed from kernel/Makefile.ORIG +1 -0
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/kernel/printk.c.ORIG linux-2.6-denx/kernel/printk.c
kernel/printk.c renamed from kernel/printk.c.ORIG +77 -0
77 lines not on this page · raw message
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/kernel/sched.c.ORIG linux-2.6-denx/kernel/sched.c
kernel/sched.c renamed from kernel/sched.c.ORIG +72 -3
75 lines not on this page · raw message
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/kernel/signal.c.ORIG linux-2.6-denx/kernel/signal.c
kernel/signal.c renamed from kernel/signal.c.ORIG +1 -0
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/kernel/spinlock.c.ORIG linux-2.6-denx/kernel/spinlock.c
kernel/spinlock.c renamed from kernel/spinlock.c.ORIG +2 -2
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/lib/bust_spinlocks.c.ORIG linux-2.6-denx/lib/bust_spinlocks.c
lib/bust_spinlocks.c renamed from lib/bust_spinlocks.c.ORIG +3 -0
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/lib/ioremap.c.ORIG linux-2.6-denx/lib/ioremap.c
lib/ioremap.c renamed from lib/ioremap.c.ORIG +3 -2
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/lib/Kconfig.debug.ORIG linux-2.6-denx/lib/Kconfig.debug
lib/Kconfig.debug renamed from lib/Kconfig.debug.ORIG +2 -0
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/lib/smp_processor_id.c.ORIG linux-2.6-denx/lib/smp_processor_id.c
lib/smp_processor_id.c renamed from lib/smp_processor_id.c.ORIG +3 -0
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/lib/spinlock_debug.c.ORIG linux-2.6-denx/lib/spinlock_debug.c
lib/spinlock_debug.c renamed from lib/spinlock_debug.c.ORIG +18 -0
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/Makefile.ORIG linux-2.6-denx/Makefile
Makefile renamed from Makefile.ORIG +4 -0
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/mm/memory.c.ORIG linux-2.6-denx/mm/memory.c
mm/memory.c renamed from mm/memory.c.ORIG +190 -33
223 lines not on this page · raw message
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/mm/mlock.c.ORIG linux-2.6-denx/mm/mlock.c
mm/mlock.c renamed from mm/mlock.c.ORIG +2 -2
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
+ diff -u linux-2.6-denx/mm/vmalloc.c.ORIG linux-2.6-denx/mm/vmalloc.c
mm/vmalloc.c renamed from mm/vmalloc.c.ORIG +2 -0
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
Part of the diff is not shown here. View the raw message.
Hi Wolfgang,
Quoted 7 lines · Wolfgang Grandegger
Hello,
attached is a patch for "
arch/powerpc" for the DENX GIT tree linux-2.6-denx version 2.6.23. It should replace the patch adeos-ipipe-2.6.23-rc5-powerpc-DENX-2.0-01.patch. It just needed adaption for the renaming ofhead_4xx.Stohead_40x.Sinarch/powerpc/kernel/.
Great, thanks. I'm going to merge the latest updates from the generic I-pipe tree into your patch and roll the result out asap.
Btw, do you know if 2.6.23-DENX runs the PA-SEMI properly? Last time I checked (a month ago actually), -rc5 had some issues booting an Electra board due to upstream changes.
Signature · 1 line
Philippe.