Fork us on GitHub Follow us on Facebook Follow us on Twitter

Changeset 41b735f3 in mainline


Ignore:
Timestamp:
2013-12-28T20:42:02Z (9 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial
Children:
d18ad61
Parents:
ac36aed (diff), 1df1905 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

proactive merge of the LEON3 (SPARCv8) port (originally from lp:~jceel/helenos/leon3)

Note: This is a preliminary merge (proof-of-concept) from the remote branch as of 2013-12-12, after a basic code revision and cleanup. There might be regressions and divergencies from the current state of the remote branch.

Files:
101 added
7 edited
5 moved

Legend:

Unmodified
Added
Removed
  • HelenOS.config

    rac36aed r41b735f3  
    3232% Platform
    3333@ "abs32le" abstract 32-bit little endian
    34 @ "amd64" AMD64/Intel EM64T (PC)
     34@ "amd64" AMD64/EM64T 64-bit (PC)
    3535@ "arm32" ARM 32-bit
    36 @ "ia32" Intel IA-32 (PC)
    37 @ "ia64" Intel IA-64
     36@ "ia32" IA-32 32-bit (PC)
     37@ "ia64" IA-64 64-bit
    3838@ "mips32" MIPS 32-bit
    3939@ "mips64" MIPS 64-bit
    40 @ "ppc32" PowerPC 32-bit (iMac G4)
    41 @ "sparc64" Sun UltraSPARC 64-bit
     40@ "ppc32" PowerPC 32-bit
     41@ "sparc32" SPARCv8 32-bit
     42@ "sparc64" SPARCv9 64-bit
    4243! PLATFORM (choice)
    4344
     
    6061@ "generic" Generic Sun workstation or server
    6162! [PLATFORM=sparc64] MACHINE (choice)
     63
     64% Machine type
     65@ "leon3" Gaisler Aeroflex LEON3
     66! [PLATFORM=sparc32] MACHINE (choice)
    6267
    6368% Machine type
     
    8287
    8388% CPU type
     89@ "leon3" Gaisler Aeroflex LEON3
     90! [PLATFORM=sparc32&MACHINE=leon3] PROCESSOR (choice)
     91
     92% CPU type
    8493@ "us" UltraSPARC I-II subarchitecture
    8594@ "us3" UltraSPARC III-IV subarchitecture
     
    173182
    174183% Kernel architecture
     184@ "sparc32"
     185! [PLATFORM=sparc32] KARCH (choice)
     186
     187% Kernel architecture
    175188@ "sparc64"
    176189! [PLATFORM=sparc64] KARCH (choice)
     
    220233
    221234% User space architecture
     235@ "sparc32"
     236! [PLATFORM=sparc32] UARCH (choice)
     237
     238% User space architecture
    222239@ "sparc64"
    223240! [PLATFORM=sparc64] UARCH (choice)
     
    265282@ "ppc64"
    266283! [PLATFORM=ppc64] BARCH (choice)
     284
     285% Boot architecture
     286@ "sparc32"
     287! [PLATFORM=sparc32] BARCH (choice)
    267288
    268289% Boot architecture
     
    314335@ "gcc_helenos" GNU C Compiler (experimental HelenOS-specific cross-compiler)
    315336@ "clang" Clang
    316 ! [PLATFORM=abs32le|PLATFORM=arm32|PLATFORM=sparc64] COMPILER (choice)
     337! [PLATFORM=abs32le|PLATFORM=arm32|PLATFORM=sparc32|PLATFORM=sparc64] COMPILER (choice)
    317338
    318339
     
    341362
    342363% Hierarchical page tables support
    343 ! [PLATFORM=abs32le|PLATFORM=ia32|PLATFORM=amd64|PLATFORM=arm32|PLATFORM=mips32|PLATFORM=ppc32] CONFIG_PAGE_PT (y)
     364! [PLATFORM=abs32le|PLATFORM=ia32|PLATFORM=amd64|PLATFORM=arm32|PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=sparc32] CONFIG_PAGE_PT (y)
    344365
    345366% Page hash table support
     
    347368
    348369% Software integer division support
    349 ! [PLATFORM=abs32le|PLATFORM=ia32|PLATFORM=arm32|PLATFORM=ia64|PLATFORM=mips32|PLATFORM=mips64|PLATFORM=ppc32] CONFIG_SOFTINT (y)
     370! [PLATFORM=abs32le|PLATFORM=ia32|PLATFORM=arm32|PLATFORM=ia64|PLATFORM=mips32|PLATFORM=mips64|PLATFORM=ppc32|PLATFORM=sparc32] CONFIG_SOFTINT (y)
    350371
    351372% ASID support
    352 ! [PLATFORM=ia64|PLATFORM=mips32|PLATFORM=mips64|PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_ASID (y)
     373! [PLATFORM=ia64|PLATFORM=mips32|PLATFORM=mips64|PLATFORM=ppc32|PLATFORM=sparc32|PLATFORM=sparc64] CONFIG_ASID (y)
    353374
    354375% ASID FIFO support
    355 ! [PLATFORM=ia64|PLATFORM=mips32|PLATFORM=mips64|PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_ASID_FIFO (y)
     376! [PLATFORM=ia64|PLATFORM=mips32|PLATFORM=mips64|PLATFORM=ppc32|PLATFORM=sparc32|PLATFORM=sparc64] CONFIG_ASID_FIFO (y)
    356377
    357378% OpenFirmware tree support
     
    492513! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&PLATFORM=arm32&(MACHINE=beagleboardxm|MACHINE=beaglebone)] CONFIG_OMAP_UART (y/n)
    493514
     515% Support for GRLIB UART
     516! [PLATFORM=sparc32&MACHINE=leon3] CONFIG_GRLIB_UART (y)
     517
     518% Support for GRLIB IRQMP
     519! [PLATFORM=sparc32&MACHINE=leon3] CONFIG_GRLIB_IRQMP (y)
     520
    494521% Support for i8042 controller
    495522! [CONFIG_PC_KBD=y] CONFIG_I8042 (y)
     
    511538
    512539% Serial line input module
    513 ! [CONFIG_DSRLNIN=y|(PLATFORM=arm32&MACHINE=gta02)|(PLATFORM=arm32&MACHINE=integratorcp&CONFIG_ARM926_UART=y)|(PLATFORM=arm32&MACHINE=beaglebone&CONFIG_OMAP_UART=y)|(PLATFORM=arm32&MACHINE=beagleboardxm&CONFIG_OMAP_UART=y)|(PLATFORM=ia64&MACHINE=i460GX&CONFIG_NS16550=y)|(PLATFORM=ia64&MACHINE=ski)|(PLATFORM=sparc64&PROCESSOR=sun4v)] CONFIG_SRLN (y)
     540! [CONFIG_DSRLNIN=y|(PLATFORM=sparc32)|(PLATFORM=arm32&MACHINE=gta02)|(PLATFORM=arm32&MACHINE=integratorcp&CONFIG_ARM926_UART=y)|(PLATFORM=arm32&MACHINE=beaglebone&CONFIG_OMAP_UART=y)|(PLATFORM=arm32&MACHINE=beagleboardxm&CONFIG_OMAP_UART=y)|(PLATFORM=ia64&MACHINE=i460GX&CONFIG_NS16550=y)|(PLATFORM=ia64&MACHINE=ski)|(PLATFORM=sparc64&PROCESSOR=sun4v)] CONFIG_SRLN (y)
    514541
    515542% EGA support
     
    626653@ "5" Linux kernel
    627654! [PLATFORM=arm32&MACHINE!=beagleboardxm&MACHINE!=beaglebone] UIMAGE_OS (choice)
     655
     656% uImage OS type
     657@ "5" Linux kernel
     658! [PLATFORM=sparc32] UIMAGE_OS (choice)
  • kernel/arch/arm32/src/mach/gta02/gta02.c

    rac36aed r41b735f3  
    4141#include <genarch/fb/fb.h>
    4242#include <abi/fb/visuals.h>
    43 #include <genarch/drivers/s3c24xx_uart/s3c24xx_uart.h>
    44 #include <genarch/drivers/s3c24xx_irqc/s3c24xx_irqc.h>
    45 #include <genarch/drivers/s3c24xx_timer/s3c24xx_timer.h>
     43#include <genarch/drivers/s3c24xx/uart.h>
     44#include <genarch/drivers/s3c24xx/irqc.h>
     45#include <genarch/drivers/s3c24xx/timer.h>
    4646#include <genarch/srln/srln.h>
    4747#include <sysinfo/sysinfo.h>
  • kernel/genarch/Makefile.inc

    rac36aed r41b735f3  
    9797ifeq ($(CONFIG_S3C24XX_IRQC),y)
    9898        GENARCH_SOURCES += \
    99                 genarch/src/drivers/s3c24xx_irqc/s3c24xx_irqc.c
     99                genarch/src/drivers/s3c24xx/irqc.c
    100100endif
    101101
    102102ifeq ($(CONFIG_S3C24XX_UART),y)
    103103        GENARCH_SOURCES += \
    104                 genarch/src/drivers/s3c24xx_uart/s3c24xx_uart.c
     104                genarch/src/drivers/s3c24xx/uart.c
    105105endif
    106106
     
    108108        GENARCH_SOURCES += \
    109109                genarch/src/drivers/omap/uart.c
     110endif
     111
     112ifeq ($(CONFIG_GRLIB_UART),y)
     113        GENARCH_SOURCES += \
     114                genarch/src/drivers/grlib/uart.c
     115endif
     116
     117ifeq ($(CONFIG_GRLIB_IRQMP),y)
     118        GENARCH_SOURCES += \
     119                genarch/src/drivers/grlib/irqmp.c
    110120endif
    111121
  • kernel/genarch/src/drivers/s3c24xx/irqc.c

    rac36aed r41b735f3  
    3737 */
    3838
    39 #include <genarch/drivers/s3c24xx_irqc/s3c24xx_irqc.h>
     39#include <genarch/drivers/s3c24xx/irqc.h>
    4040#include <arch/asm.h>
    4141
  • kernel/genarch/src/drivers/s3c24xx/uart.c

    rac36aed r41b735f3  
    3838 */
    3939
    40 #include <genarch/drivers/s3c24xx_uart/s3c24xx_uart.h>
     40#include <genarch/drivers/s3c24xx/uart.h>
    4141#include <console/chardev.h>
    4242#include <console/console.h>
  • kernel/generic/src/proc/scheduler.c

    rac36aed r41b735f3  
    517517       
    518518#ifdef SCHEDULER_VERBOSE
    519         printf("cpu%u: tid %" PRIu64 " (priority=%d, ticks=%" PRIu64 
    520             ", nrdy=%ld)\n", CPU->id, THREAD->tid, THREAD->priority,
     519        printf("cpu%u: tid %" PRIu64 " (priority=%d, ticks=%" PRIu64
     520            ", nrdy=%" PRIua ")\n", CPU->id, THREAD->tid, THREAD->priority,
    521521            THREAD->ticks, atomic_get(&CPU->nrdy));
    522522#endif
  • tools/autotool.py

    rac36aed r41b735f3  
    263263                clang_target = "powerpc-unknown-linux"
    264264                helenos_target = "ppc-helenos"
     265       
     266        if (config['PLATFORM'] == "sparc32"):
     267                target = config['PLATFORM'];
     268                gnu_target = "sparc-leon3-linux-gnu"
     269                helenos_target = "sparc-leon3-helenos"
    265270       
    266271        if (config['PLATFORM'] == "sparc64"):
  • tools/toolchain.sh

    rac36aed r41b735f3  
    155155        echo " ppc32      32-bit PowerPC"
    156156        echo " ppc64      64-bit PowerPC"
     157        echo " sparc32    SPARC V8"
    157158        echo " sparc64    SPARC V9"
    158159        echo " all        build all targets"
     
    378379                        HELENOS_TARGET="ppc64-helenos"
    379380                        ;;
     381                "sparc32")
     382                        LINUX_TARGET="sparc-leon3-linux-gnu"
     383                        HELENOS_TARGET="sparc-leon3-helenos"
     384                        ;;
    380385                "sparc64")
    381386                        LINUX_TARGET="sparc64-linux-gnu"
     
    555560
    556561case "$1" in
    557         amd64|arm32|ia32|ia64|mips32|mips32eb|mips64|ppc32|ppc64|sparc64)
     562        amd64|arm32|ia32|ia64|mips32|mips32eb|mips64|ppc32|ppc64|sparc32|sparc64)
    558563                prepare
    559564                build_target "$1"
     
    570575                build_target "ppc32"
    571576                build_target "ppc64"
     577                build_target "sparc32"
    572578                build_target "sparc64"
    573579                ;;
     
    583589                build_target "ppc32" &
    584590                build_target "ppc64" &
     591                build_target "sparc32" &
    585592                build_target "sparc64" &
    586593                wait
     
    605612               
    606613                build_target "ppc64" &
     614                build_target "sparc32" &
     615                wait
     616               
    607617                build_target "sparc64" &
    608618                wait
  • uspace/lib/c/arch/abs32le/include/libarch/atomic.h

    rac36aed r41b735f3  
    5353}
    5454
    55 static inline void atomic_inc(atomic_t *val) {
     55static inline void atomic_inc(atomic_t *val)
     56{
    5657        /* On real hardware the increment has to be done
    5758           as an atomic action. */
     
    6061}
    6162
    62 static inline void atomic_dec(atomic_t *val) {
     63static inline void atomic_dec(atomic_t *val)
     64{
    6365        /* On real hardware the decrement has to be done
    6466           as an atomic action. */
Note: See TracChangeset for help on using the changeset viewer.