]> rtime.felk.cvut.cz Git - l4.git/blob - kernel/fiasco/src/kern/arm/config-arm.cpp
update
[l4.git] / kernel / fiasco / src / kern / arm / config-arm.cpp
1 /* ARM specific */
2 INTERFACE [arm]:
3
4 EXTENSION class Config
5 {
6 public:
7
8   enum
9   {
10     Access_user_mem = Must_access_user_mem_direct,
11
12     PAGE_SHIFT = ARCH_PAGE_SHIFT,
13     PAGE_SIZE  = 1 << PAGE_SHIFT,
14     PAGE_MASK  = ~(PAGE_SIZE - 1),
15
16     SUPERPAGE_SHIFT = 20,
17     SUPERPAGE_SIZE  = 1 << SUPERPAGE_SHIFT,
18     SUPERPAGE_MASK  = ~(SUPERPAGE_SIZE -1),
19
20     hlt_works_ok = 1,
21     Irq_shortcut = 1,
22   };
23
24   enum
25   {
26 #ifdef CONFIG_ONE_SHOT
27     Scheduler_one_shot          = 1,
28     Scheduler_granularity       = 1UL,
29     Default_time_slice          = 10000 * scheduler_granularity,
30 #else
31     Scheduler_one_shot          = 0,
32     Scheduler_granularity       = 1000UL,
33     Default_time_slice          = 10 * Scheduler_granularity,
34 #endif
35   };
36
37   enum
38   {
39     KMEM_SIZE = 16 << 20,
40   };
41
42   // the default uart to use for serial console
43   static unsigned const default_console_uart    = 3;
44   static unsigned const default_console_uart_baudrate = 115200;
45
46   enum
47   {
48     Cache_enabled = true,
49   };
50   static const char char_micro;
51
52
53   enum
54   {
55 #ifdef CONFIG_ARM_CA9_ENABLE_SWP
56     Cp15_c1_use_a9_swp_enable = 1,
57 #else
58     Cp15_c1_use_a9_swp_enable = 0,
59 #endif
60 #ifdef CONFIG_ARM_ALIGNMENT_CHECK
61     Cp15_c1_use_alignment_check = 1,
62 #else
63     Cp15_c1_use_alignment_check = 0,
64 #endif
65
66     Support_arm_linux_cache_API = 1,
67   };
68
69 };
70
71 //---------------------------------------------------------------------------
72 IMPLEMENTATION [arm]:
73
74 char const Config::char_micro = '\265';
75 const char *const Config::kernel_warn_config_string = 0;
76
77 IMPLEMENT FIASCO_INIT
78 void
79 Config::init_arch()
80 {}
81
82 //---------------------------------------------------------------------------
83 IMPLEMENTATION [armv6plus]:
84
85 #include "feature.h"
86
87 KIP_KERNEL_FEATURE("armv6plus");