summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bsp/realview-a8/drivers/SConscript9
-rw-r--r--bsp/realview-a8/mk.sh1
-rw-r--r--bsp/realview-a8/rtt_api.h28
-rw-r--r--libcpu/arm/realview-a8-vmm/context_gcc.S3
-rw-r--r--libcpu/arm/realview-a8-vmm/gic.c3
5 files changed, 32 insertions, 12 deletions
diff --git a/bsp/realview-a8/drivers/SConscript b/bsp/realview-a8/drivers/SConscript
index a630c8a7c4..9987f53e4b 100644
--- a/bsp/realview-a8/drivers/SConscript
+++ b/bsp/realview-a8/drivers/SConscript
@@ -6,15 +6,6 @@ from building import *
cwd = GetCurrentDir()
src = Glob('*.c')
-# remove no need file.
-if GetDepend('RT_USING_LWIP') == False:
- src_need_remove = ['dm9000.c'] # need remove file list.
- SrcRemove(src, src_need_remove)
-
-if GetDepend('RT_USING_DFS') == False:
- src_need_remove = ['sd.c'] # need remove file list.
- SrcRemove(src, src_need_remove)
-
CPPPATH = [cwd]
group = DefineGroup('Drivers', src, depend = [''], CPPPATH = CPPPATH)
diff --git a/bsp/realview-a8/mk.sh b/bsp/realview-a8/mk.sh
index 540f41c654..964009c271 100644
--- a/bsp/realview-a8/mk.sh
+++ b/bsp/realview-a8/mk.sh
@@ -6,6 +6,7 @@ KDIR=~/linux-git
BUILD_ROOT_DIR=/temp-build/buildroot-2014.02/
scons -j20
+mkdir -p $BUILD_ROOT_DIR/output/target/vmm
cp rtthread.bin $BUILD_ROOT_DIR/output/target/vmm
(
diff --git a/bsp/realview-a8/rtt_api.h b/bsp/realview-a8/rtt_api.h
index 815e06e3a0..365e756351 100644
--- a/bsp/realview-a8/rtt_api.h
+++ b/bsp/realview-a8/rtt_api.h
@@ -1,3 +1,31 @@
+/*
+ * serial.c UART driver
+ *
+ * COPYRIGHT (C) 2014, Shanghai Real-Thread Technology Co., Ltd
+ *
+ * This file is part of RT-Thread (http://www.rt-thread.org)
+ *
+ * All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Change Logs:
+ * Date Author Notes
+ * 2014-04-07 Grissiom first version
+ */
+
#ifndef __RTT_API_H__
#define __RTT_API_H__
diff --git a/libcpu/arm/realview-a8-vmm/context_gcc.S b/libcpu/arm/realview-a8-vmm/context_gcc.S
index 9bb31e3f10..dba0095632 100644
--- a/libcpu/arm/realview-a8-vmm/context_gcc.S
+++ b/libcpu/arm/realview-a8-vmm/context_gcc.S
@@ -57,9 +57,6 @@ rt_hw_context_switch_to:
ldmfd sp!, {r4} @ pop new task spsr
msr spsr_cxsf, r4
- bic r4, r4, #0x20 @ must be ARM mode
- msr cpsr_cxsf, r4
-
ldmfd sp!, {r0-r12, lr, pc}^ @ pop new task r0-r12, lr & pc
.section .bss.share.isr
diff --git a/libcpu/arm/realview-a8-vmm/gic.c b/libcpu/arm/realview-a8-vmm/gic.c
index db26fc5dcf..4cff1bad3e 100644
--- a/libcpu/arm/realview-a8-vmm/gic.c
+++ b/libcpu/arm/realview-a8-vmm/gic.c
@@ -249,6 +249,9 @@ int arm_gic_dist_init(rt_uint32_t index, rt_uint32_t dist_base, int irq_start)
for (i = 0; i < _gic_max_irq; i += 32)
GIC_DIST_IGROUP(dist_base, i) = 0xffffffff;
+ /* Enable group0 and group1 interrupt forwarding. */
+ GIC_DIST_CTRL(dist_base) = 0x03;
+
return 0;
}