Changes in / [9ad289d:df64dbc] in mainline


Ignore:
Files:
4 added
22 deleted
14 edited

Legend:

Unmodified
Added
Removed
  • HelenOS.config

    r9ad289d rdf64dbc  
    6464@ "gta02" GTA02 / Neo FreeRunner
    6565@ "integratorcp" Integratorcp
    66 @ "beagleboardxm" BeagleBoard-xM
    67 @ "beaglebone" BeagleBone
     66@ "beagleboardxm" BeogleBoard-xM
    6867! [PLATFORM=arm32] MACHINE (choice)
    6968
     
    8988% CPU type
    9089@ "cortex_a8" ARM Cortex A-8
    91 ! [PLATFORM=arm32&(MACHINE=beagleboardxm|MACHINE=beaglebone)] PROCESSOR (choice)
     90! [PLATFORM=arm32&MACHINE=beagleboardxm] PROCESSOR (choice)
    9291
    9392% CPU type
     
    442441% Output device class
    443442@ "generic" Monitor or serial line
    444 ! [PLATFORM=arm32&(MACHINE=gta02|MACHINE=integratorcp|MACHINE=beagleboardxm|MACHINE=beaglebone)] CONFIG_HID_OUT (choice)
     443! [PLATFORM=arm32&(MACHINE=gta02|MACHINE=integratorcp|MACHINE=beagleboardxm)] CONFIG_HID_OUT (choice)
    445444
    446445% Output device class
     
    489488! [PLATFORM=arm32&MACHINE=gta02] CONFIG_S3C24XX_IRQC (y)
    490489
    491 % Support for TI AM335x on-chip UART
    492 ! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&PLATFORM=arm32&MACHINE=beaglebone] CONFIG_AM335X_UART (y/n)
    493 
    494 % Support for TI AM335x timers support
    495 ! [PLATFORM=arm32&MACHINE=beaglebone] CONFIG_AM335X_TIMERS (y)
    496 
    497 % Support for TI AMDM37x on-chip UART
     490% Support for TI AMDM37X on-chip UART
    498491! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&PLATFORM=arm32&MACHINE=beagleboardxm] CONFIG_AMDM37X_UART (y/n)
    499492
     
    517510
    518511% Serial line input module
    519 ! [CONFIG_DSRLNIN=y|(PLATFORM=arm32&MACHINE=gta02)|(PLATFORM=arm32&MACHINE=integratorcp&CONFIG_ARM926_UART=y)|(PLATFORM=arm32&MACHINE=beaglebone&CONFIG_AM335X_UART=y)|(PLATFORM=arm32&MACHINE=beagleboardxm&CONFIG_AMDM37X_UART=y)|(PLATFORM=ia64&MACHINE=i460GX&CONFIG_NS16550=y)|(PLATFORM=ia64&MACHINE=ski)|(PLATFORM=sparc64&PROCESSOR=sun4v)] CONFIG_SRLN (y)
     512! [CONFIG_DSRLNIN=y|(PLATFORM=arm32&MACHINE=gta02)|(PLATFORM=arm32&MACHINE=integratorcp&CONFIG_ARM926_UART=y)|(PLATFORM=arm32&MACHINE=beagleboardxm&CONFIG_AMDM37X_UART=y)|(PLATFORM=ia64&MACHINE=i460GX&CONFIG_NS16550=y)|(PLATFORM=ia64&MACHINE=ski)|(PLATFORM=sparc64&PROCESSOR=sun4v)] CONFIG_SRLN (y)
    520513
    521514% EGA support
     
    630623% uImage OS type
    631624@ "2" NetBSD stage 2 boot loader
    632 ! [PLATFORM=arm32&(MACHINE=beagleboardxm|MACHINE=beaglebone)] UIMAGE_OS (choice)
     625! [PLATFORM=arm32&MACHINE=beagleboardxm] UIMAGE_OS (choice)
    633626
    634627% uImage OS type
    635628@ "5" Linux kernel
    636 ! [PLATFORM=arm32&MACHINE!=beagleboardxm&MACHINE!=beaglebone] UIMAGE_OS (choice)
     629! [PLATFORM=arm32&MACHINE!=beagleboardxm] UIMAGE_OS (choice)
  • boot/arch/arm32/Makefile.inc

    r9ad289d rdf64dbc  
    3535endif
    3636
    37 ifeq ($(MACHINE), $(filter $(MACHINE),beagleboardxm beaglebone))
     37ifeq ($(MACHINE), beagleboardxm)
    3838        BOOT_OUTPUT = image.boot
    3939        POST_OUTPUT = $(ROOT_PATH)/uImage.bin
  • boot/arch/arm32/include/arch.h

    r9ad289d rdf64dbc  
    4444#elif defined MACHINE_beagleboardxm
    4545#define BOOT_BASE       0x80000000
    46 #elif defined MACHINE_beaglebone
    47 #define BOOT_BASE       0x80000000
    4846#else
    4947#define BOOT_BASE       0x00000000
     
    5351
    5452#ifdef MACHINE_beagleboardxm
    55         #define PA_OFFSET 0
    56 #elif defined MACHINE_beaglebone
    5753        #define PA_OFFSET 0
    5854#else
  • boot/arch/arm32/include/main.h

    r9ad289d rdf64dbc  
    5151#define BBXM_THR_FULL           0x00000001
    5252
    53 /** Beaglebone UART register addresses
    54  *
    55  * This is UART0 of AM335x CPU
    56  */
    57 #define BBONE_SCONS_THR         0x44E09000
    58 #define BBONE_SCONS_SSR         0x44E09044
    59 
    60 /** Check this bit before writing (tx fifo full) */
    61 #define BBONE_TXFIFO_FULL       0x00000001
    6253
    6354/** GTA02 serial console UART register addresses.
  • boot/arch/arm32/include/mm.h

    r9ad289d rdf64dbc  
    6363#define BBXM_RAM_END   0xc0000000
    6464
    65 /** Start of ram memory on AM335x */
    66 #define AM335x_RAM_START   0x80000000
    67 /** End of ram memory on AM335x */
    68 #define AM335x_RAM_END     0xC0000000
    69 
    7065
    7166/* Page table level 0 entry - "section" format is used
     
    8176        unsigned int access_permission_0 : 2;
    8277        unsigned int tex : 3;
    83         unsigned int access_permission_1 : 1;
    84         unsigned int shareable : 1;
     78        unsigned int access_permission_1 : 2;
    8579        unsigned int non_global : 1;
    8680        unsigned int should_be_zero_2 : 1;
  • boot/arch/arm32/src/mm.c

    r9ad289d rdf64dbc  
    3838#include <arch/mm.h>
    3939
    40 /** Disable the MMU */
    41 static void disable_paging(void)
    42 {
    43         asm volatile (
    44                 "mrc p15, 0, r0, c1, c0, 0\n"
    45                 "bic r0, r0, #1\n"
    46                 "mcr p15, 0, r0, c1, c0, 0\n"
    47                 ::: "r0"
    48         );
    49 }
    50 
    5140/** Check if caching can be enabled for a given memory section.
    5241 *
     
    7059        const unsigned long address = section << PTE_SECTION_SHIFT;
    7160        if (address >= BBXM_RAM_START && address < BBXM_RAM_END)
    72                 return 1;
    73 #elif defined MACHINE_beaglebone
    74         const unsigned long address = section << PTE_SECTION_SHIFT;
    75         if (address >= AM335x_RAM_START && address < AM335x_RAM_END)
    7661                return 1;
    7762#endif
     
    10388        pte->tex = 0;
    10489        pte->access_permission_1 = 0;
    105         pte->shareable = 0;
    10690        pte->non_global = 0;
    10791        pte->should_be_zero_2 = 0;
     
    118102        for (page = 0; page < split_page; page++)
    119103                init_ptl0_section(&boot_pt[page], page);
     104       
     105        /*
     106         * Create 1:1 virtual-physical mapping in kernel space
     107         * (upper 2 GB), physical addresses start from 0.
     108         */
     109        /* BeagleBoard-xM (DM37x) memory starts at 2GB border,
     110         * thus mapping only lower 2GB is not not enough.
     111         * Map entire AS 1:1 instead and hope it works. */
     112        for (page = split_page; page < PTL0_ENTRIES; page++)
     113#ifndef MACHINE_beagleboardxm
     114                init_ptl0_section(&boot_pt[page], page - split_page);
     115#else
     116                init_ptl0_section(&boot_pt[page], page);
     117#endif
    120118       
    121119        asm volatile (
     
    134132                "ldr r0, =0x55555555\n"
    135133                "mcr p15, 0, r0, c3, c0, 0\n"
    136 
     134               
    137135                /* Current settings */
    138136                "mrc p15, 0, r0, c1, c0, 0\n"
     
    145143               
    146144                "orr r0, r0, r1\n"
    147 
    148                 /* Invalidate the TLB content before turning on the MMU.
    149                  * ARMv7-A Reference manual, B3.10.3
    150                  */
    151                 "mcr p15, 0, r0, c8, c7, 0\n"
    152145               
    153                 /* Store settings, enable the MMU */
     146                /* Store settings */
    154147                "mcr p15, 0, r0, c1, c0, 0\n"
    155148                ::: "r0", "r1"
     
    159152/** Start the MMU - initialize page table and enable paging. */
    160153void mmu_start() {
    161         disable_paging();
    162154        init_boot_pt();
    163155        enable_paging();
  • boot/arch/arm32/src/putchar.c

    r9ad289d rdf64dbc  
    4040#include <putchar.h>
    4141#include <str.h>
    42 
    43 #ifdef MACHINE_beaglebone
    44 
    45 /** Send a byte to the am335x serial console.
    46  *
    47  * @param byte          Byte to send.
    48  */
    49 static void scons_sendb_bbone(uint8_t byte)
    50 {
    51         volatile uint32_t *thr =
    52                 (volatile uint32_t *) BBONE_SCONS_THR;
    53         volatile uint32_t *ssr =
    54                 (volatile uint32_t *) BBONE_SCONS_SSR;
    55 
    56         /* Wait until transmitter is empty */
    57         while (*ssr & BBONE_TXFIFO_FULL);
    58 
    59         /* Transmit byte */
    60         *thr = (uint32_t) byte;
    61 }
    62 
    63 #endif
    6442
    6543#ifdef MACHINE_beagleboardxm
     
    128106static void scons_sendb(uint8_t byte)
    129107{
    130 #ifdef MACHINE_beaglebone
    131         scons_sendb_bbone(byte);
    132 #endif
    133108#ifdef MACHINE_beagleboardxm
    134109        scons_sendb_bbxm(byte);
  • kernel/arch/arm32/Makefile.inc

    r9ad289d rdf64dbc  
    8585endif
    8686
    87 ifeq ($(MACHINE),beaglebone)
    88         ARCH_SOURCES += arch/$(KARCH)/src/mach/beaglebone/beaglebone.c
    89 endif
    90 
    9187ifeq ($(CONFIG_PL050),y)
    9288        ARCH_SOURCES += genarch/src/drivers/pl050/pl050.c
  • kernel/arch/arm32/_link.ld.in

    r9ad289d rdf64dbc  
    1010#define KERNEL_LOAD_ADDRESS 0xb0a08000
    1111#elif defined MACHINE_beagleboardxm
    12 #define KERNEL_LOAD_ADDRESS 0x80a00000
    13 #elif define MACHINE_beaglebone
    1412#define KERNEL_LOAD_ADDRESS 0x80a00000
    1513#else
  • kernel/arch/arm32/include/mm/frame.h

    r9ad289d rdf64dbc  
    5656#define BOOT_PAGE_TABLE_ADDRESS  0x80008000
    5757
    58 #elif defined MACHINE_beaglebone
    59 
    60 #define PHYSMEM_START_ADDR       0x80000000
    61 #define BOOT_PAGE_TABLE_ADDRESS  0x80008000
    62 
    6358#else
    6459
     
    7065#define BOOT_PAGE_TABLE_START_FRAME     (BOOT_PAGE_TABLE_ADDRESS >> FRAME_WIDTH)
    7166#define BOOT_PAGE_TABLE_SIZE_IN_FRAMES  (BOOT_PAGE_TABLE_SIZE >> FRAME_WIDTH)
     67
    7268
    7369extern void frame_low_arch_init(void);
  • kernel/arch/arm32/include/mm/page.h

    r9ad289d rdf64dbc  
    4646#define PAGE_SIZE       FRAME_SIZE
    4747
    48 #if (defined MACHINE_beagleboardxm) || (defined MACHINE_beaglebone)
     48#ifdef MACHINE_beagleboardxm
    4949#ifndef __ASM__
    5050#       define KA2PA(x) ((uintptr_t) (x))
  • kernel/arch/arm32/src/mach/beagleboardxm/beagleboardxm.c

    r9ad289d rdf64dbc  
    3535#include <arch/exception.h>
    3636#include <arch/mach/beagleboardxm/beagleboardxm.h>
    37 #include <genarch/drivers/amdm37x/uart.h>
    38 #include <genarch/drivers/amdm37x/irc.h>
    39 #include <genarch/drivers/amdm37x/gpt.h>
     37#include <genarch/drivers/amdm37x_irc/amdm37x_irc.h>
     38#include <genarch/drivers/amdm37x_uart/amdm37x_uart.h>
     39#include <genarch/drivers/amdm37x_gpt/amdm37x_gpt.h>
    4040#include <genarch/fb/fb.h>
    4141#include <genarch/srln/srln.h>
  • kernel/arch/arm32/src/machine_func.c

    r9ad289d rdf64dbc  
    4242#include <arch/mach/integratorcp/integratorcp.h>
    4343#include <arch/mach/beagleboardxm/beagleboardxm.h>
    44 #include <arch/mach/beaglebone/beaglebone.h>
    4544
    4645/** Pointer to machine_ops structure being used. */
     
    5655#elif defined(MACHINE_beagleboardxm)
    5756        machine_ops = &bbxm_machine_ops;
    58 #elif defined(MACHINE_beaglebone)
    59         machine_ops = &bbone_machine_ops;
    6057#else
    6158#error Machine type not defined.
  • kernel/genarch/Makefile.inc

    r9ad289d rdf64dbc  
    106106endif
    107107
    108 ifeq ($(CONFIG_AM335X_UART),y)
    109         GENARCH_SOURCES += \
    110                 genarch/src/drivers/am335x/uart.c
    111 endif
    112 
    113 ifeq ($(CONFIG_AM335X_TIMERS),y)
    114         GENARCH_SOURCES += \
    115                 genarch/src/drivers/am335x/timer.c
    116 endif
    117 
    118108ifeq ($(CONFIG_AMDM37X_UART),y)
    119109        GENARCH_SOURCES += \
    120                 genarch/src/drivers/amdm37x/uart.c
     110                genarch/src/drivers/amdm37x_uart/amdm37x_uart.c
    121111endif
    122112
Note: See TracChangeset for help on using the changeset viewer.