Changes in / [3acd1bb:005b765] in mainline
- Files:
-
- 4 added
- 22 deleted
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
HelenOS.config
r3acd1bb r005b765 64 64 @ "gta02" GTA02 / Neo FreeRunner 65 65 @ "integratorcp" Integratorcp 66 @ "beagleboardxm" BeagleBoard-xM 67 @ "beaglebone" BeagleBone 66 @ "beagleboardxm" BeogleBoard-xM 68 67 ! [PLATFORM=arm32] MACHINE (choice) 69 68 … … 89 88 % CPU type 90 89 @ "cortex_a8" ARM Cortex A-8 91 ! [PLATFORM=arm32& (MACHINE=beagleboardxm|MACHINE=beaglebone)] PROCESSOR (choice)90 ! [PLATFORM=arm32&MACHINE=beagleboardxm] PROCESSOR (choice) 92 91 93 92 % CPU type … … 442 441 % Output device class 443 442 @ "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) 445 444 446 445 % Output device class … … 489 488 ! [PLATFORM=arm32&MACHINE=gta02] CONFIG_S3C24XX_IRQC (y) 490 489 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 498 491 ! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&PLATFORM=arm32&MACHINE=beagleboardxm] CONFIG_AMDM37X_UART (y/n) 499 492 … … 517 510 518 511 % Serial line input module 519 ! [CONFIG_DSRLNIN=y|(PLATFORM=arm32&MACHINE=gta02)|(PLATFORM=arm32&MACHINE=integratorcp&CONFIG_ARM926_UART=y)|(PLATFORM=arm32&MACHINE=beaglebo ne&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) 520 513 521 514 % EGA support … … 630 623 % uImage OS type 631 624 @ "2" NetBSD stage 2 boot loader 632 ! [PLATFORM=arm32& (MACHINE=beagleboardxm|MACHINE=beaglebone)] UIMAGE_OS (choice)625 ! [PLATFORM=arm32&MACHINE=beagleboardxm] UIMAGE_OS (choice) 633 626 634 627 % uImage OS type 635 628 @ "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
r3acd1bb r005b765 35 35 endif 36 36 37 ifeq ($(MACHINE), $(filter $(MACHINE),beagleboardxm beaglebone))37 ifeq ($(MACHINE), beagleboardxm) 38 38 BOOT_OUTPUT = image.boot 39 39 POST_OUTPUT = $(ROOT_PATH)/uImage.bin -
boot/arch/arm32/include/arch.h
r3acd1bb r005b765 44 44 #elif defined MACHINE_beagleboardxm 45 45 #define BOOT_BASE 0x80000000 46 #elif defined MACHINE_beaglebone47 #define BOOT_BASE 0x8000000048 46 #else 49 47 #define BOOT_BASE 0x00000000 … … 53 51 54 52 #ifdef MACHINE_beagleboardxm 55 #define PA_OFFSET 056 #elif defined MACHINE_beaglebone57 53 #define PA_OFFSET 0 58 54 #else -
boot/arch/arm32/include/main.h
r3acd1bb r005b765 51 51 #define BBXM_THR_FULL 0x00000001 52 52 53 /** Beaglebone UART register addresses54 *55 * This is UART0 of AM335x CPU56 */57 #define BBONE_SCONS_THR 0x44E0900058 #define BBONE_SCONS_SSR 0x44E0904459 60 /** Check this bit before writing (tx fifo full) */61 #define BBONE_TXFIFO_FULL 0x0000000162 53 63 54 /** GTA02 serial console UART register addresses. -
boot/arch/arm32/include/mm.h
r3acd1bb r005b765 63 63 #define BBXM_RAM_END 0xc0000000 64 64 65 /** Start of ram memory on AM335x */66 #define AM335x_RAM_START 0x8000000067 /** End of ram memory on AM335x */68 #define AM335x_RAM_END 0xC000000069 70 65 71 66 /* Page table level 0 entry - "section" format is used … … 81 76 unsigned int access_permission_0 : 2; 82 77 unsigned int tex : 3; 83 unsigned int access_permission_1 : 1; 84 unsigned int shareable : 1; 78 unsigned int access_permission_1 : 2; 85 79 unsigned int non_global : 1; 86 80 unsigned int should_be_zero_2 : 1; -
boot/arch/arm32/src/mm.c
r3acd1bb r005b765 38 38 #include <arch/mm.h> 39 39 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 51 40 /** Check if caching can be enabled for a given memory section. 52 41 * … … 70 59 const unsigned long address = section << PTE_SECTION_SHIFT; 71 60 if (address >= BBXM_RAM_START && address < BBXM_RAM_END) 72 return 1;73 #elif defined MACHINE_beaglebone74 const unsigned long address = section << PTE_SECTION_SHIFT;75 if (address >= AM335x_RAM_START && address < AM335x_RAM_END)76 61 return 1; 77 62 #endif … … 103 88 pte->tex = 0; 104 89 pte->access_permission_1 = 0; 105 pte->shareable = 0;106 90 pte->non_global = 0; 107 91 pte->should_be_zero_2 = 0; … … 118 102 for (page = 0; page < split_page; page++) 119 103 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 120 118 121 119 asm volatile ( … … 134 132 "ldr r0, =0x55555555\n" 135 133 "mcr p15, 0, r0, c3, c0, 0\n" 136 134 137 135 /* Current settings */ 138 136 "mrc p15, 0, r0, c1, c0, 0\n" … … 145 143 146 144 "orr r0, r0, r1\n" 147 148 /* Invalidate the TLB content before turning on the MMU.149 * ARMv7-A Reference manual, B3.10.3150 */151 "mcr p15, 0, r0, c8, c7, 0\n"152 145 153 /* Store settings , enable the MMU*/146 /* Store settings */ 154 147 "mcr p15, 0, r0, c1, c0, 0\n" 155 148 ::: "r0", "r1" … … 159 152 /** Start the MMU - initialize page table and enable paging. */ 160 153 void mmu_start() { 161 disable_paging();162 154 init_boot_pt(); 163 155 enable_paging(); -
boot/arch/arm32/src/putchar.c
r3acd1bb r005b765 40 40 #include <putchar.h> 41 41 #include <str.h> 42 43 #ifdef MACHINE_beaglebone44 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 #endif64 42 65 43 #ifdef MACHINE_beagleboardxm … … 128 106 static void scons_sendb(uint8_t byte) 129 107 { 130 #ifdef MACHINE_beaglebone131 scons_sendb_bbone(byte);132 #endif133 108 #ifdef MACHINE_beagleboardxm 134 109 scons_sendb_bbxm(byte); -
kernel/arch/arm32/Makefile.inc
r3acd1bb r005b765 85 85 endif 86 86 87 ifeq ($(MACHINE),beaglebone)88 ARCH_SOURCES += arch/$(KARCH)/src/mach/beaglebone/beaglebone.c89 endif90 91 87 ifeq ($(CONFIG_PL050),y) 92 88 ARCH_SOURCES += genarch/src/drivers/pl050/pl050.c -
kernel/arch/arm32/_link.ld.in
r3acd1bb r005b765 10 10 #define KERNEL_LOAD_ADDRESS 0xb0a08000 11 11 #elif defined MACHINE_beagleboardxm 12 #define KERNEL_LOAD_ADDRESS 0x80a0000013 #elif define MACHINE_beaglebone14 12 #define KERNEL_LOAD_ADDRESS 0x80a00000 15 13 #else -
kernel/arch/arm32/include/mm/frame.h
r3acd1bb r005b765 56 56 #define BOOT_PAGE_TABLE_ADDRESS 0x80008000 57 57 58 #elif defined MACHINE_beaglebone59 60 #define PHYSMEM_START_ADDR 0x8000000061 #define BOOT_PAGE_TABLE_ADDRESS 0x8000800062 63 58 #else 64 59 … … 70 65 #define BOOT_PAGE_TABLE_START_FRAME (BOOT_PAGE_TABLE_ADDRESS >> FRAME_WIDTH) 71 66 #define BOOT_PAGE_TABLE_SIZE_IN_FRAMES (BOOT_PAGE_TABLE_SIZE >> FRAME_WIDTH) 67 72 68 73 69 extern void frame_low_arch_init(void); -
kernel/arch/arm32/include/mm/page.h
r3acd1bb r005b765 46 46 #define PAGE_SIZE FRAME_SIZE 47 47 48 #if (defined MACHINE_beagleboardxm) || (defined MACHINE_beaglebone)48 #ifdef MACHINE_beagleboardxm 49 49 #ifndef __ASM__ 50 50 # define KA2PA(x) ((uintptr_t) (x)) -
kernel/arch/arm32/src/mach/beagleboardxm/beagleboardxm.c
r3acd1bb r005b765 35 35 #include <arch/exception.h> 36 36 #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> 40 40 #include <genarch/fb/fb.h> 41 41 #include <genarch/srln/srln.h> -
kernel/arch/arm32/src/machine_func.c
r3acd1bb r005b765 42 42 #include <arch/mach/integratorcp/integratorcp.h> 43 43 #include <arch/mach/beagleboardxm/beagleboardxm.h> 44 #include <arch/mach/beaglebone/beaglebone.h>45 44 46 45 /** Pointer to machine_ops structure being used. */ … … 56 55 #elif defined(MACHINE_beagleboardxm) 57 56 machine_ops = &bbxm_machine_ops; 58 #elif defined(MACHINE_beaglebone)59 machine_ops = &bbone_machine_ops;60 57 #else 61 58 #error Machine type not defined. -
kernel/genarch/Makefile.inc
r3acd1bb r005b765 106 106 endif 107 107 108 ifeq ($(CONFIG_AM335X_UART),y)109 GENARCH_SOURCES += \110 genarch/src/drivers/am335x/uart.c111 endif112 113 ifeq ($(CONFIG_AM335X_TIMERS),y)114 GENARCH_SOURCES += \115 genarch/src/drivers/am335x/timer.c116 endif117 118 108 ifeq ($(CONFIG_AMDM37X_UART),y) 119 109 GENARCH_SOURCES += \ 120 genarch/src/drivers/amdm37x /uart.c110 genarch/src/drivers/amdm37x_uart/amdm37x_uart.c 121 111 endif 122 112
Note:
See TracChangeset
for help on using the changeset viewer.