Re: [GIT PULL] Microblaze initial pack

From: Ingo Molnar
Date: Fri Mar 27 2009 - 06:32:22 EST



* Michal Simek <monstr@xxxxxxxxx> wrote:

> Hi Linus,
>
> This pack contains initial pack for Xilinx Microblaze CPU.
>
> Please pull
> git://git.monstr.eu/linux-2.6-microblaze.git for-linus
>
> Thanks,
> Michal
>
> ----
>
> The following changes since commit 8e0ee43bc2c3e19db56a4adaa9a9b04ce885cd84:
> Linus Torvalds (1):
> Linux 2.6.29
>
> are available in the git repository at:
>
> git://git.monstr.eu/linux-2.6-microblaze.git for-linus
>
> Michal Simek (60):
> microblaze_v8: Cpuinfo handling
> microblaze_v8: Open firmware files
> microblaze_v8: Platform bus registration
> microblaze_v8: exception handling
> microblaze_v8: Signal support
> microblaze_v8: Selfmodified code
> microblaze_v8: cache support
> microblaze_v8: Generic dts file for platforms
> microblaze_v8: kernel modules support
> microblaze_v8: lmb include file
> microblaze_v8: PVR support, cpuinfo support
> microblaze_v8: defconfig file
> microblaze_v8: assembler files head.S, entry-nommu.S, syscall_table.S
> microblaze_v8: vmlinux.lds.S - linker script
> microblaze_v8: supported function for memory - kernel/lib
> microblaze_v8: checksum support
> microblaze_v8: early_printk support
> microblaze_v8: uaccess files
> microblaze_v8: heartbeat file
> microblaze_v8: setup.c, setup.h - system setting
> microblaze_v8: asm-offsets.c
> microblaze_v8: process and init task function
> microblaze_v8: delay.h, timex.h
> microblaze_v8: ptrace support
> microblaze_v8: IPC support
> microblaze_v8: traps support
> microblaze_v8: memory inicialization, MMU, TLB
> microblaze_v8: page.h, segment.h, unaligned.h
> microblaze_v8: includes SHM*, msgbuf
> microblaze_v8: bug headers files
> microblaze_v8: definitions of types
> microblaze_v8: ioctl support
> microblaze_v8: io.h IO operations
> microblaze_v8: headers for executables format FLAT, ELF
> microblaze_v8: dma support
> microblaze_v8: headers for irq
> microblaze_v8: atomic.h bitops.h swab.h byteorder.h
> microblaze_v8: headers pgalloc.h pgtable.h
> microblaze_v8: system.h processor.h
> microblaze_v8: clinkage.h linkage.h sections.h kmap_types.h
> microblaze_v8: stats headers
> microblaze_v8: termbits.h termios.h
> microblaze_v8: sigcontext.h siginfo.h
> microblaze_v8: headers simple files - empty or redirect to asm-generic
> microblaze_v8: gpio.h, serial.h
> microblaze_v8: namei.h
> microblaze_v8: headers files entry.h current.h mman.h registers.h sembuf.h
> microblaze_v8: device.h param.h topology.h
> microblaze_v8: pool.h socket.h
> microblaze_v8: fcntl.h sockios.h ucontext.h
> microblaze_v8: unistd.h
> microblaze_v8: string.h thread_info.h
> microblaze_v8: Kbuild file
> microblaze_v8: pci headers
> microblaze_v8: syscalls.h
> microblaze_v8: Interrupt handling and timer support
> microblaze_v8: Kconfig patches
> microblaze_v8: Makefiles for Microblaze cpu
> microblaze_v8: Uartlite for Microblaze
> microblaze_v8: Add MAINTAINERS fragment
>
> MAINTAINERS | 8 +
> arch/microblaze/Kconfig | 141 +++
> arch/microblaze/Kconfig.debug | 26 +
> arch/microblaze/Makefile | 69 ++
> arch/microblaze/boot/Makefile | 17 +
> arch/microblaze/configs/nommu_defconfig | 804 ++++++++++++++++
> arch/microblaze/include/asm/Kbuild | 26 +
> arch/microblaze/include/asm/atomic.h | 123 +++
> arch/microblaze/include/asm/bitops.h | 27 +
> arch/microblaze/include/asm/bug.h | 15 +
> arch/microblaze/include/asm/bugs.h | 17 +
> arch/microblaze/include/asm/byteorder.h | 6 +
> arch/microblaze/include/asm/cache.h | 45 +
> arch/microblaze/include/asm/cacheflush.h | 85 ++
> arch/microblaze/include/asm/checksum.h | 98 ++
> arch/microblaze/include/asm/clinkage.h | 1 +
> arch/microblaze/include/asm/cpuinfo.h | 102 ++
> arch/microblaze/include/asm/cputime.h | 1 +
> arch/microblaze/include/asm/current.h | 21 +
> arch/microblaze/include/asm/delay.h | 72 ++
> arch/microblaze/include/asm/device.h | 21 +
> arch/microblaze/include/asm/div64.h | 1 +
> arch/microblaze/include/asm/dma-mapping.h | 129 +++
> arch/microblaze/include/asm/dma.h | 16 +
> arch/microblaze/include/asm/elf.h | 30 +
> arch/microblaze/include/asm/emergency-restart.h | 1 +
> arch/microblaze/include/asm/entry.h | 35 +
> arch/microblaze/include/asm/errno.h | 1 +
> arch/microblaze/include/asm/exceptions.h | 96 ++
> arch/microblaze/include/asm/fcntl.h | 1 +
> arch/microblaze/include/asm/flat.h | 90 ++
> arch/microblaze/include/asm/futex.h | 1 +
> arch/microblaze/include/asm/gpio.h | 56 ++
> arch/microblaze/include/asm/hardirq.h | 29 +
> arch/microblaze/include/asm/io.h | 209 ++++
> arch/microblaze/include/asm/ioctl.h | 1 +
> arch/microblaze/include/asm/ioctls.h | 91 ++
> arch/microblaze/include/asm/ipc.h | 1 +
> arch/microblaze/include/asm/ipcbuf.h | 36 +
> arch/microblaze/include/asm/irq.h | 47 +
> arch/microblaze/include/asm/irq_regs.h | 1 +
> arch/microblaze/include/asm/irqflags.h | 123 +++
> arch/microblaze/include/asm/kdebug.h | 1 +
> arch/microblaze/include/asm/kmap_types.h | 29 +
> arch/microblaze/include/asm/linkage.h | 15 +
> arch/microblaze/include/asm/lmb.h | 17 +
> arch/microblaze/include/asm/local.h | 1 +
> arch/microblaze/include/asm/mman.h | 25 +
> arch/microblaze/include/asm/mmu.h | 19 +
> arch/microblaze/include/asm/mmu_context.h | 21 +
> arch/microblaze/include/asm/module.h | 37 +
> arch/microblaze/include/asm/msgbuf.h | 31 +
> arch/microblaze/include/asm/mutex.h | 1 +
> arch/microblaze/include/asm/namei.h | 22 +
> arch/microblaze/include/asm/of_device.h | 45 +
> arch/microblaze/include/asm/of_platform.h | 64 ++
> arch/microblaze/include/asm/page.h | 140 +++
> arch/microblaze/include/asm/param.h | 30 +
> arch/microblaze/include/asm/pci-bridge.h | 1 +
> arch/microblaze/include/asm/pci.h | 1 +
> arch/microblaze/include/asm/percpu.h | 1 +
> arch/microblaze/include/asm/pgalloc.h | 14 +
> arch/microblaze/include/asm/pgtable.h | 54 ++
> arch/microblaze/include/asm/poll.h | 1 +
> arch/microblaze/include/asm/posix_types.h | 73 ++
> arch/microblaze/include/asm/processor.h | 93 ++
> arch/microblaze/include/asm/prom.h | 313 ++++++
> arch/microblaze/include/asm/ptrace.h | 68 ++
> arch/microblaze/include/asm/pvr.h | 209 ++++
> arch/microblaze/include/asm/registers.h | 33 +
> arch/microblaze/include/asm/resource.h | 1 +
> arch/microblaze/include/asm/scatterlist.h | 28 +
> arch/microblaze/include/asm/sections.h | 25 +
> arch/microblaze/include/asm/segment.h | 43 +
> arch/microblaze/include/asm/selfmod.h | 24 +
> arch/microblaze/include/asm/sembuf.h | 34 +
> arch/microblaze/include/asm/serial.h | 14 +
> arch/microblaze/include/asm/setup.h | 44 +
> arch/microblaze/include/asm/shmbuf.h | 42 +
> arch/microblaze/include/asm/shmparam.h | 6 +
> arch/microblaze/include/asm/sigcontext.h | 20 +
> arch/microblaze/include/asm/siginfo.h | 15 +
> arch/microblaze/include/asm/signal.h | 165 ++++
> arch/microblaze/include/asm/socket.h | 66 ++
> arch/microblaze/include/asm/sockios.h | 23 +
> arch/microblaze/include/asm/stat.h | 73 ++
> arch/microblaze/include/asm/statfs.h | 1 +
> arch/microblaze/include/asm/string.h | 24 +
> arch/microblaze/include/asm/swab.h | 8 +
> arch/microblaze/include/asm/syscalls.h | 45 +
> arch/microblaze/include/asm/system.h | 91 ++
> arch/microblaze/include/asm/termbits.h | 203 ++++
> arch/microblaze/include/asm/termios.h | 88 ++
> arch/microblaze/include/asm/thread_info.h | 159 ++++
> arch/microblaze/include/asm/timex.h | 18 +
> arch/microblaze/include/asm/tlb.h | 16 +
> arch/microblaze/include/asm/tlbflush.h | 20 +
> arch/microblaze/include/asm/topology.h | 11 +
> arch/microblaze/include/asm/types.h | 38 +
> arch/microblaze/include/asm/uaccess.h | 134 +++
> arch/microblaze/include/asm/ucontext.h | 22 +
> arch/microblaze/include/asm/unaligned.h | 22 +
> arch/microblaze/include/asm/unistd.h | 421 +++++++++
> arch/microblaze/include/asm/xor.h | 1 +
> arch/microblaze/kernel/Makefile | 19 +
> arch/microblaze/kernel/asm-offsets.c | 115 +++
> arch/microblaze/kernel/cpu/Makefile | 8 +
> arch/microblaze/kernel/cpu/cache.c | 258 +++++
> arch/microblaze/kernel/cpu/cpuinfo-pvr-full.c | 101 ++
> arch/microblaze/kernel/cpu/cpuinfo-static.c | 144 +++
> arch/microblaze/kernel/cpu/cpuinfo.c | 86 ++
> arch/microblaze/kernel/cpu/mb.c | 148 +++
> arch/microblaze/kernel/cpu/pvr.c | 81 ++
> arch/microblaze/kernel/early_printk.c | 107 +++
> arch/microblaze/kernel/entry-nommu.S | 596 ++++++++++++
> arch/microblaze/kernel/exceptions.c | 124 +++
> arch/microblaze/kernel/head.S | 56 ++
> arch/microblaze/kernel/heartbeat.c | 67 ++
> arch/microblaze/kernel/hw_exception_handler.S | 468 +++++++++
> arch/microblaze/kernel/init_task.c | 29 +
> arch/microblaze/kernel/intc.c | 172 ++++
> arch/microblaze/kernel/irq.c | 104 ++
> arch/microblaze/kernel/microblaze_ksyms.c | 47 +
> arch/microblaze/kernel/module.c | 151 +++
> arch/microblaze/kernel/of_device.c | 115 +++
> arch/microblaze/kernel/of_platform.c | 201 ++++
> arch/microblaze/kernel/process.c | 187 ++++
> arch/microblaze/kernel/prom.c | 1147 +++++++++++++++++++++++
> arch/microblaze/kernel/prom_parse.c | 1025 ++++++++++++++++++++
> arch/microblaze/kernel/ptrace.c | 182 ++++
> arch/microblaze/kernel/selfmod.c | 81 ++
> arch/microblaze/kernel/setup.c | 199 ++++
> arch/microblaze/kernel/signal.c | 538 +++++++++++
> arch/microblaze/kernel/sys_microblaze.c | 227 +++++
> arch/microblaze/kernel/syscall_table.S | 365 +++++++
> arch/microblaze/kernel/timer.c | 262 ++++++
> arch/microblaze/kernel/traps.c | 107 +++
> arch/microblaze/kernel/vmlinux.lds.S | 163 ++++
> arch/microblaze/lib/Makefile | 13 +
> arch/microblaze/lib/checksum.c | 163 ++++
> arch/microblaze/lib/fastcopy.S | 662 +++++++++++++
> arch/microblaze/lib/memcpy.c | 161 ++++
> arch/microblaze/lib/memmove.c | 175 ++++
> arch/microblaze/lib/memset.c | 82 ++
> arch/microblaze/lib/uaccess.c | 41 +
> arch/microblaze/mm/Makefile | 5 +
> arch/microblaze/mm/init.c | 201 ++++
> arch/microblaze/platform/Kconfig.platform | 85 ++
> arch/microblaze/platform/Makefile | 6 +
> arch/microblaze/platform/generic/Kconfig.auto | 62 ++
> arch/microblaze/platform/generic/Makefile | 3 +
> arch/microblaze/platform/generic/system.dts | 332 +++++++
> arch/microblaze/platform/platform.c | 31 +
> drivers/serial/Kconfig | 4 +-
> 154 files changed, 15728 insertions(+), 2 deletions(-)
> create mode 100644 arch/microblaze/Kconfig
> create mode 100644 arch/microblaze/Kconfig.debug
> create mode 100644 arch/microblaze/Makefile
> create mode 100644 arch/microblaze/boot/Makefile
> create mode 100644 arch/microblaze/configs/nommu_defconfig
> create mode 100644 arch/microblaze/include/asm/Kbuild
> create mode 100644 arch/microblaze/include/asm/atomic.h
> create mode 100644 arch/microblaze/include/asm/auxvec.h
> create mode 100644 arch/microblaze/include/asm/bitops.h
> create mode 100644 arch/microblaze/include/asm/bug.h
> create mode 100644 arch/microblaze/include/asm/bugs.h
> create mode 100644 arch/microblaze/include/asm/byteorder.h
> create mode 100644 arch/microblaze/include/asm/cache.h
> create mode 100644 arch/microblaze/include/asm/cacheflush.h
> create mode 100644 arch/microblaze/include/asm/checksum.h
> create mode 100644 arch/microblaze/include/asm/clinkage.h
> create mode 100644 arch/microblaze/include/asm/cpuinfo.h
> create mode 100644 arch/microblaze/include/asm/cputable.h
> create mode 100644 arch/microblaze/include/asm/cputime.h
> create mode 100644 arch/microblaze/include/asm/current.h
> create mode 100644 arch/microblaze/include/asm/delay.h
> create mode 100644 arch/microblaze/include/asm/device.h
> create mode 100644 arch/microblaze/include/asm/div64.h
> create mode 100644 arch/microblaze/include/asm/dma-mapping.h
> create mode 100644 arch/microblaze/include/asm/dma.h
> create mode 100644 arch/microblaze/include/asm/elf.h
> create mode 100644 arch/microblaze/include/asm/emergency-restart.h
> create mode 100644 arch/microblaze/include/asm/entry.h
> create mode 100644 arch/microblaze/include/asm/errno.h
> create mode 100644 arch/microblaze/include/asm/exceptions.h
> create mode 100644 arch/microblaze/include/asm/fcntl.h
> create mode 100644 arch/microblaze/include/asm/flat.h
> create mode 100644 arch/microblaze/include/asm/futex.h
> create mode 100644 arch/microblaze/include/asm/gpio.h
> create mode 100644 arch/microblaze/include/asm/hardirq.h
> create mode 100644 arch/microblaze/include/asm/hw_irq.h
> create mode 100644 arch/microblaze/include/asm/io.h
> create mode 100644 arch/microblaze/include/asm/ioctl.h
> create mode 100644 arch/microblaze/include/asm/ioctls.h
> create mode 100644 arch/microblaze/include/asm/ipc.h
> create mode 100644 arch/microblaze/include/asm/ipcbuf.h
> create mode 100644 arch/microblaze/include/asm/irq.h
> create mode 100644 arch/microblaze/include/asm/irq_regs.h
> create mode 100644 arch/microblaze/include/asm/irqflags.h
> create mode 100644 arch/microblaze/include/asm/kdebug.h
> create mode 100644 arch/microblaze/include/asm/kmap_types.h
> create mode 100644 arch/microblaze/include/asm/linkage.h
> create mode 100644 arch/microblaze/include/asm/lmb.h
> create mode 100644 arch/microblaze/include/asm/local.h
> create mode 100644 arch/microblaze/include/asm/mman.h
> create mode 100644 arch/microblaze/include/asm/mmu.h
> create mode 100644 arch/microblaze/include/asm/mmu_context.h
> create mode 100644 arch/microblaze/include/asm/module.h
> create mode 100644 arch/microblaze/include/asm/msgbuf.h
> create mode 100644 arch/microblaze/include/asm/mutex.h
> create mode 100644 arch/microblaze/include/asm/namei.h
> create mode 100644 arch/microblaze/include/asm/of_device.h
> create mode 100644 arch/microblaze/include/asm/of_platform.h
> create mode 100644 arch/microblaze/include/asm/page.h
> create mode 100644 arch/microblaze/include/asm/param.h
> create mode 100644 arch/microblaze/include/asm/pci-bridge.h
> create mode 100644 arch/microblaze/include/asm/pci.h
> create mode 100644 arch/microblaze/include/asm/percpu.h
> create mode 100644 arch/microblaze/include/asm/pgalloc.h
> create mode 100644 arch/microblaze/include/asm/pgtable.h
> create mode 100644 arch/microblaze/include/asm/poll.h
> create mode 100644 arch/microblaze/include/asm/posix_types.h
> create mode 100644 arch/microblaze/include/asm/processor.h
> create mode 100644 arch/microblaze/include/asm/prom.h
> create mode 100644 arch/microblaze/include/asm/ptrace.h
> create mode 100644 arch/microblaze/include/asm/pvr.h
> create mode 100644 arch/microblaze/include/asm/registers.h
> create mode 100644 arch/microblaze/include/asm/resource.h
> create mode 100644 arch/microblaze/include/asm/scatterlist.h
> create mode 100644 arch/microblaze/include/asm/sections.h
> create mode 100644 arch/microblaze/include/asm/segment.h
> create mode 100644 arch/microblaze/include/asm/selfmod.h
> create mode 100644 arch/microblaze/include/asm/sembuf.h
> create mode 100644 arch/microblaze/include/asm/serial.h
> create mode 100644 arch/microblaze/include/asm/setup.h
> create mode 100644 arch/microblaze/include/asm/shmbuf.h
> create mode 100644 arch/microblaze/include/asm/shmparam.h
> create mode 100644 arch/microblaze/include/asm/sigcontext.h
> create mode 100644 arch/microblaze/include/asm/siginfo.h
> create mode 100644 arch/microblaze/include/asm/signal.h
> create mode 100644 arch/microblaze/include/asm/socket.h
> create mode 100644 arch/microblaze/include/asm/sockios.h
> create mode 100644 arch/microblaze/include/asm/stat.h
> create mode 100644 arch/microblaze/include/asm/statfs.h
> create mode 100644 arch/microblaze/include/asm/string.h
> create mode 100644 arch/microblaze/include/asm/swab.h
> create mode 100644 arch/microblaze/include/asm/syscalls.h
> create mode 100644 arch/microblaze/include/asm/system.h
> create mode 100644 arch/microblaze/include/asm/termbits.h
> create mode 100644 arch/microblaze/include/asm/termios.h
> create mode 100644 arch/microblaze/include/asm/thread_info.h
> create mode 100644 arch/microblaze/include/asm/timex.h
> create mode 100644 arch/microblaze/include/asm/tlb.h
> create mode 100644 arch/microblaze/include/asm/tlbflush.h
> create mode 100644 arch/microblaze/include/asm/topology.h
> create mode 100644 arch/microblaze/include/asm/types.h
> create mode 100644 arch/microblaze/include/asm/uaccess.h
> create mode 100644 arch/microblaze/include/asm/ucontext.h
> create mode 100644 arch/microblaze/include/asm/unaligned.h
> create mode 100644 arch/microblaze/include/asm/unistd.h
> create mode 100644 arch/microblaze/include/asm/user.h
> create mode 100644 arch/microblaze/include/asm/vga.h
> create mode 100644 arch/microblaze/include/asm/xor.h
> create mode 100644 arch/microblaze/kernel/Makefile
> create mode 100644 arch/microblaze/kernel/asm-offsets.c
> create mode 100644 arch/microblaze/kernel/cpu/Makefile
> create mode 100644 arch/microblaze/kernel/cpu/cache.c
> create mode 100644 arch/microblaze/kernel/cpu/cpuinfo-pvr-full.c
> create mode 100644 arch/microblaze/kernel/cpu/cpuinfo-static.c
> create mode 100644 arch/microblaze/kernel/cpu/cpuinfo.c
> create mode 100644 arch/microblaze/kernel/cpu/mb.c
> create mode 100644 arch/microblaze/kernel/cpu/pvr.c
> create mode 100644 arch/microblaze/kernel/early_printk.c
> create mode 100644 arch/microblaze/kernel/entry-nommu.S
> create mode 100644 arch/microblaze/kernel/exceptions.c
> create mode 100644 arch/microblaze/kernel/head.S
> create mode 100644 arch/microblaze/kernel/heartbeat.c
> create mode 100644 arch/microblaze/kernel/hw_exception_handler.S
> create mode 100644 arch/microblaze/kernel/init_task.c
> create mode 100644 arch/microblaze/kernel/intc.c
> create mode 100644 arch/microblaze/kernel/irq.c
> create mode 100644 arch/microblaze/kernel/microblaze_ksyms.c
> create mode 100644 arch/microblaze/kernel/module.c
> create mode 100644 arch/microblaze/kernel/of_device.c
> create mode 100644 arch/microblaze/kernel/of_platform.c
> create mode 100644 arch/microblaze/kernel/process.c
> create mode 100644 arch/microblaze/kernel/prom.c
> create mode 100644 arch/microblaze/kernel/prom_parse.c
> create mode 100644 arch/microblaze/kernel/ptrace.c
> create mode 100644 arch/microblaze/kernel/selfmod.c
> create mode 100644 arch/microblaze/kernel/setup.c
> create mode 100644 arch/microblaze/kernel/signal.c
> create mode 100644 arch/microblaze/kernel/sys_microblaze.c
> create mode 100644 arch/microblaze/kernel/syscall_table.S
> create mode 100644 arch/microblaze/kernel/timer.c
> create mode 100644 arch/microblaze/kernel/traps.c
> create mode 100644 arch/microblaze/kernel/vmlinux.lds.S
> create mode 100644 arch/microblaze/lib/Makefile
> create mode 100644 arch/microblaze/lib/checksum.c
> create mode 100644 arch/microblaze/lib/fastcopy.S
> create mode 100644 arch/microblaze/lib/memcpy.c
> create mode 100644 arch/microblaze/lib/memmove.c
> create mode 100644 arch/microblaze/lib/memset.c
> create mode 100644 arch/microblaze/lib/uaccess.c
> create mode 100644 arch/microblaze/mm/Makefile
> create mode 100644 arch/microblaze/mm/init.c
> create mode 100644 arch/microblaze/platform/Kconfig.platform
> create mode 100644 arch/microblaze/platform/Makefile
> create mode 100644 arch/microblaze/platform/generic/Kconfig.auto
> create mode 100644 arch/microblaze/platform/generic/Makefile
> create mode 100644 arch/microblaze/platform/generic/system.dts
> create mode 100644 arch/microblaze/platform/platform.c

I have noticed one relatively big (but easily fixable) commit
structure problem in this tree.

All of the commits have these tags:

Reviewed-by: Stephen Neuendorffer <stephen.neuendorffer@xxxxxxxxxx>
Acked-by: John Linn <john.linn@xxxxxxxxxx>
Acked-by: John Williams<john.williams@xxxxxxxxxxxxx>

I think this is the result of an misunderstanding of how to use the
tags properly. Those should all be Signed-off-by tags (with the
permission, authorization and full knowledge of each person along
the signoff chain).

Acked-by does not carry the same legal weight as Signed-off-by. See
Documentation/SubmittingPatches and in particular for details:

Developer's Certificate of Origin 1.1

I've also done a (quick) license scan and there's this one file i
found:

arch/microblaze/kernel/hw_exception_handler.S

* Copyright (C) 2004 Xilinx, Inc. All rights reserved.
*
* Xilinx, Inc.
* XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS" AS A
* COURTESY TO YOU.BY PROVIDING THIS DESIGN, CODE, OR INFORMATION AS
* ONE POSSIBLE IMPLEMENTATION OF THIS FEATURE, APPLICATION OR
* STANDARD, XILINX IS MAKING NO REPRESENTATION THAT THIS IMPLEMENTATION
* IS FREE FROM ANY CLAIMS OF INFRINGEMENT, AND YOU ARE RESPONSIBLE
* FOR OBTAINING ANY RIGHTS YOU MAY REQUIRE FOR YOUR IMPLEMENTATION.

That is an all rights reserved copyrighted file, and i'm not sure
the above constitutes a GPLv2 compatible license. It would be less
ambigious to add what you do in the other places instead, something
like:

* (C) Copyright 2004 Xilinx, Inc.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 as published
* by the Free Software Foundation.

A quick look at the technical details suggest that arch/microblaze
certainly looks like a nicely done architecture.

It is spartan but uses modern core kernel facilities for everything:
genirq, clockevents, generic-time, etc.

Missing bits (you might want to look into this in the future) are
various (optional) bits of instrumentation:

- irqflags-tracking (needed for lockdep)

- stacktrace support (needed for lockdep)

- function tracer bits

- latencytop support (I suspect you could flip on
HAVE_LATENCYTOP_SUPPORT right now as it needs no real arch code)

Etc. All of these are optional and can be added later.

There's a few obsolete comments with x86isms and old-Linux-isms in
them:

.long sys_ni_syscall /* old sys_vm86old */
.long sys_ni_syscall /* modify_ldt */
.long sys_ni_syscall /* was fork */
.long sys_ni_syscall /* old break syscall holder */
.long sys_ni_syscall /* old stat */

You could have compacted your syscall table eliminating these but i
guess you started from an existing experimental codebase and the ABI
stuck with you, right? It's not an issue.

And i guess along the way you want to remove this from your
libraries:

.long sys_ipc

... as this is a really ancient hack of a syscall. 64-bit x86 does
not have the syscall anymore. No big deal though.

Anyway, all in one it is nice work!

Reviewed-by: Ingo Molnar <mingo@xxxxxxx>

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