summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/arm
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2008-04-17 23:09:42 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2008-04-17 23:09:42 +0000
commitf9af0c1565031ee762251785299b226f32f43bd4 (patch)
tree43e41c61eb5fc0330a20964dcf7ed5f1a0f6a3c6 /c/src/lib/libbsp/arm
parent2008-04-17 Joel Sherrill <joel.sherrill@oarcorp.com> (diff)
downloadrtems-f9af0c1565031ee762251785299b226f32f43bd4.tar.bz2
2008-04-17 Joel Sherrill <joel.sherrill@OARcorp.com>
* Makefile.am: Move .s files to .S * dswifi/common/source/spinlock.S, libfat/source/disc_io/io_dldi.S, libfat/source/disc_io/io_scsd_s.S, libnds/source/arm9/COS.S, libnds/source/arm9/SIN.S, libnds/source/arm9/TAN.S, libnds/source/arm9/dcache.S, libnds/source/arm9/default_font.S, libnds/source/arm9/icache.S, libnds/source/common/biosCalls.S, libnds/source/common/interruptDispatcher.S: New files. * dswifi/common/source/spinlock.s, libfat/source/disc_io/io_dldi.s, libfat/source/disc_io/io_scsd_s.s, libnds/source/arm9/COS.s, libnds/source/arm9/SIN.s, libnds/source/arm9/TAN.s, libnds/source/arm9/dcache.s, libnds/source/arm9/default_font.s, libnds/source/arm9/exceptionHandler.s, libnds/source/arm9/icache.s, libnds/source/common/biosCalls.s, libnds/source/common/interruptDispatcher.s: Removed.
Diffstat (limited to 'c/src/lib/libbsp/arm')
-rw-r--r--c/src/lib/libbsp/arm/nds/ChangeLog17
-rw-r--r--c/src/lib/libbsp/arm/nds/Makefile.am18
-rw-r--r--c/src/lib/libbsp/arm/nds/dswifi/common/source/spinlock.S (renamed from c/src/lib/libbsp/arm/nds/dswifi/common/source/spinlock.s)0
-rw-r--r--c/src/lib/libbsp/arm/nds/libfat/source/disc_io/io_dldi.S (renamed from c/src/lib/libbsp/arm/nds/libfat/source/disc_io/io_dldi.s)0
-rw-r--r--c/src/lib/libbsp/arm/nds/libfat/source/disc_io/io_scsd_s.S (renamed from c/src/lib/libbsp/arm/nds/libfat/source/disc_io/io_scsd_s.s)0
-rw-r--r--c/src/lib/libbsp/arm/nds/libnds/source/arm9/COS.S (renamed from c/src/lib/libbsp/arm/nds/libnds/source/arm9/COS.s)0
-rw-r--r--c/src/lib/libbsp/arm/nds/libnds/source/arm9/SIN.S (renamed from c/src/lib/libbsp/arm/nds/libnds/source/arm9/SIN.s)0
-rw-r--r--c/src/lib/libbsp/arm/nds/libnds/source/arm9/TAN.S (renamed from c/src/lib/libbsp/arm/nds/libnds/source/arm9/TAN.s)0
-rw-r--r--c/src/lib/libbsp/arm/nds/libnds/source/arm9/dcache.S245
-rw-r--r--c/src/lib/libbsp/arm/nds/libnds/source/arm9/dcache.s107
-rw-r--r--c/src/lib/libbsp/arm/nds/libnds/source/arm9/default_font.S (renamed from c/src/lib/libbsp/arm/nds/libnds/source/arm9/default_font.s)0
-rw-r--r--c/src/lib/libbsp/arm/nds/libnds/source/arm9/exceptionHandler.s123
-rw-r--r--c/src/lib/libbsp/arm/nds/libnds/source/arm9/icache.S (renamed from c/src/lib/libbsp/arm/nds/libnds/source/arm9/icache.s)0
-rw-r--r--c/src/lib/libbsp/arm/nds/libnds/source/common/biosCalls.S (renamed from c/src/lib/libbsp/arm/nds/libnds/source/common/biosCalls.s)138
-rw-r--r--c/src/lib/libbsp/arm/nds/libnds/source/common/interruptDispatcher.S290
-rw-r--r--c/src/lib/libbsp/arm/nds/libnds/source/common/interruptDispatcher.s152
16 files changed, 699 insertions, 391 deletions
diff --git a/c/src/lib/libbsp/arm/nds/ChangeLog b/c/src/lib/libbsp/arm/nds/ChangeLog
index f432d8c737..0f6763a04b 100644
--- a/c/src/lib/libbsp/arm/nds/ChangeLog
+++ b/c/src/lib/libbsp/arm/nds/ChangeLog
@@ -1,5 +1,22 @@
2008-04-17 Joel Sherrill <joel.sherrill@OARcorp.com>
+ * Makefile.am: Move .s files to .S
+ * dswifi/common/source/spinlock.S, libfat/source/disc_io/io_dldi.S,
+ libfat/source/disc_io/io_scsd_s.S, libnds/source/arm9/COS.S,
+ libnds/source/arm9/SIN.S, libnds/source/arm9/TAN.S,
+ libnds/source/arm9/dcache.S, libnds/source/arm9/default_font.S,
+ libnds/source/arm9/icache.S, libnds/source/common/biosCalls.S,
+ libnds/source/common/interruptDispatcher.S: New files.
+ * dswifi/common/source/spinlock.s, libfat/source/disc_io/io_dldi.s,
+ libfat/source/disc_io/io_scsd_s.s, libnds/source/arm9/COS.s,
+ libnds/source/arm9/SIN.s, libnds/source/arm9/TAN.s,
+ libnds/source/arm9/dcache.s, libnds/source/arm9/default_font.s,
+ libnds/source/arm9/exceptionHandler.s, libnds/source/arm9/icache.s,
+ libnds/source/common/biosCalls.s,
+ libnds/source/common/interruptDispatcher.s: Removed.
+
+2008-04-17 Joel Sherrill <joel.sherrill@OARcorp.com>
+
* .cvsignore, include/.cvsignore: New files.
2008-04-16 Matthieu Bucchianeri <mbucchia@gmail.com>
diff --git a/c/src/lib/libbsp/arm/nds/Makefile.am b/c/src/lib/libbsp/arm/nds/Makefile.am
index d129897f12..f72970282a 100644
--- a/c/src/lib/libbsp/arm/nds/Makefile.am
+++ b/c/src/lib/libbsp/arm/nds/Makefile.am
@@ -101,7 +101,7 @@ bin2s: $(srcdir)/tools/bin2s.c
SUFFIXES = .bin
-%.s: %.bin bin2s
+%.S: %.bin bin2s
$(srcdir)/tools/bin2s $< > $(srcdir)/$@
libnds9_rel_SOURCES = libnds/source/common/biosCalls.S \
@@ -110,9 +110,9 @@ libnds9_rel_SOURCES = libnds/source/common/biosCalls.S \
libnds/source/common/interruptDispatcher.S \
libnds/source/common/interrupts.c \
libnds/source/arm9/boxtest.c \
- libnds/source/arm9/default_font.s \
+ libnds/source/arm9/default_font.S \
libnds/source/arm9/console.c \
- libnds/source/arm9/COS.s \
+ libnds/source/arm9/COS.S \
libnds/source/arm9/dcache.S \
libnds/source/arm9/exceptionHandler.S \
libnds/source/arm9/exceptions.c \
@@ -124,10 +124,10 @@ libnds9_rel_SOURCES = libnds/source/common/biosCalls.S \
libnds/source/arm9/ndsmotion.c \
libnds/source/arm9/pcx.c \
libnds/source/arm9/rumble.c \
- libnds/source/arm9/SIN.s \
+ libnds/source/arm9/SIN.S \
libnds/source/arm9/sound.c \
libnds/source/arm9/system.c \
- libnds/source/arm9/TAN.s \
+ libnds/source/arm9/TAN.S \
libnds/source/arm9/touch.c \
libnds/source/arm9/video.c \
libnds/source/arm9/videoGL.c
@@ -139,7 +139,7 @@ if HAS_NETWORKING
# dswifi, ARM9 side
noinst_PROGRAMS += dswifi9.rel
dswifi9_rel_SOURCES = dswifi/arm9/source/wifi_arm9.c \
- dswifi/common/source/spinlock.s
+ dswifi/common/source/spinlock.S
dswifi9_rel_CPPFLAGS = $(AM_CPPFLAGS) -DARM9 -I$(srcdir)/dswifi/include -I$(srcdir)/libnds/include -I$(srcdir)/dswifi/common/source -I$(srcdir)/wifi -D_KERNEL -Dcaddr_t=uint32_t
dswifi9_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
endif
@@ -160,8 +160,8 @@ libdldi_rel_SOURCES = libfat/source/disc_io/disc.c \
libfat/source/disc_io/io_sc_common.c \
libfat/source/disc_io/io_scsd.c \
libfat/source/disc_io/io_sd_common.c \
- libfat/source/disc_io/io_dldi.s \
- libfat/source/disc_io/io_scsd_s.s
+ libfat/source/disc_io/io_dldi.S \
+ libfat/source/disc_io/io_scsd_s.S
libdldi_rel_CPPFLAGS = $(AM_CPPFLAGS) -DARM9 -I$(srcdir)/libnds/include -I$(srcdir)/libfat/source/disc_io
libdldi_rel_CCASFLAGS = $(AM_CCASFLAGS) -DARM9 -I$(srcdir)/libnds/include -I$(srcdir)/libfat/source/disc_io
libdldi_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
@@ -188,7 +188,7 @@ if HAS_NETWORKING
# dswifi, ARM7 side
noinst_PROGRAMS += dswifi7.rel
dswifi7_rel_SOURCES = dswifi/arm7/source/wifi_arm7.c \
- dswifi/common/source/spinlock.s
+ dswifi/common/source/spinlock.S
dswifi7_rel_CPPFLAGS = $(AM_CPPFLAGS) -DARM7 -I$(srcdir)/dswifi/include -I$(srcdir)/libnds/include -I$(srcdir)/dswifi/common/source
dswifi7_rel_CFLAGS = -mcpu=arm7tdmi -msoft-float
dswifi7_rel_CCASFLAGS = -mcpu=arm7tdmi -msoft-float
diff --git a/c/src/lib/libbsp/arm/nds/dswifi/common/source/spinlock.s b/c/src/lib/libbsp/arm/nds/dswifi/common/source/spinlock.S
index e2f36ef81e..e2f36ef81e 100644
--- a/c/src/lib/libbsp/arm/nds/dswifi/common/source/spinlock.s
+++ b/c/src/lib/libbsp/arm/nds/dswifi/common/source/spinlock.S
diff --git a/c/src/lib/libbsp/arm/nds/libfat/source/disc_io/io_dldi.s b/c/src/lib/libbsp/arm/nds/libfat/source/disc_io/io_dldi.S
index 3c71649a8a..3c71649a8a 100644
--- a/c/src/lib/libbsp/arm/nds/libfat/source/disc_io/io_dldi.s
+++ b/c/src/lib/libbsp/arm/nds/libfat/source/disc_io/io_dldi.S
diff --git a/c/src/lib/libbsp/arm/nds/libfat/source/disc_io/io_scsd_s.s b/c/src/lib/libbsp/arm/nds/libfat/source/disc_io/io_scsd_s.S
index 2b68d3f905..2b68d3f905 100644
--- a/c/src/lib/libbsp/arm/nds/libfat/source/disc_io/io_scsd_s.s
+++ b/c/src/lib/libbsp/arm/nds/libfat/source/disc_io/io_scsd_s.S
diff --git a/c/src/lib/libbsp/arm/nds/libnds/source/arm9/COS.s b/c/src/lib/libbsp/arm/nds/libnds/source/arm9/COS.S
index 405e9f74a6..405e9f74a6 100644
--- a/c/src/lib/libbsp/arm/nds/libnds/source/arm9/COS.s
+++ b/c/src/lib/libbsp/arm/nds/libnds/source/arm9/COS.S
diff --git a/c/src/lib/libbsp/arm/nds/libnds/source/arm9/SIN.s b/c/src/lib/libbsp/arm/nds/libnds/source/arm9/SIN.S
index 7a9723b39b..7a9723b39b 100644
--- a/c/src/lib/libbsp/arm/nds/libnds/source/arm9/SIN.s
+++ b/c/src/lib/libbsp/arm/nds/libnds/source/arm9/SIN.S
diff --git a/c/src/lib/libbsp/arm/nds/libnds/source/arm9/TAN.s b/c/src/lib/libbsp/arm/nds/libnds/source/arm9/TAN.S
index c30a88de43..c30a88de43 100644
--- a/c/src/lib/libbsp/arm/nds/libnds/source/arm9/TAN.s
+++ b/c/src/lib/libbsp/arm/nds/libnds/source/arm9/TAN.S
diff --git a/c/src/lib/libbsp/arm/nds/libnds/source/arm9/dcache.S b/c/src/lib/libbsp/arm/nds/libnds/source/arm9/dcache.S
new file mode 100644
index 0000000000..1b3943164f
--- /dev/null
+++ b/c/src/lib/libbsp/arm/nds/libnds/source/arm9/dcache.S
@@ -0,0 +1,245 @@
+/*---------------------------------------------------------------------------------
+ $Id$
+
+ Copyright (C) 2005
+ Michael Noland (joat)
+ Jason Rogers (dovoto)
+ Dave Murphy (WinterMute)
+
+ This software is provided 'as-is', without any express or implied
+ warranty. In no event will the authors be held liable for any
+ damages arising from the use of this software.
+
+ Permission is granted to anyone to use this software for any
+ purpose, including commercial applications, and to alter it and
+ redistribute it freely, subject to the following restrictions:
+
+ 1. The origin of this software must not be misrepresented; you
+ must not claim that you wrote the original software. If you use
+ this software in a product, an acknowledgment in the product
+ documentation would be appreciated but is not required.
+ 2. Altered source versions must be plainly marked as such, and
+ must not be misrepresented as being the original software.
+ 3. This notice may not be removed or altered from any source
+ distribution.
+
+ $Log$
+ Revision 1.1 2008/04/16 18:37:32 joel
+ 2008-04-16 Matthieu Bucchianeri <mbucchia@gmail.com>
+
+ * ChangeLog, Makefile.am, README, bsp_specs, configure.ac,
+ mk_libnds.sh, patch.libnds, preinstall.am, block/block.c,
+ clock/clock.c, console/console.c, coproc/coproc.S, coproc/coproc.c,
+ coproc/coproc.ld, dswifi/dswifi_license.txt, dswifi/makefile,
+ dswifi/arm7/makefile, dswifi/arm7/source/wifi_arm7.c,
+ dswifi/arm7/source/wifi_arm7.h, dswifi/arm9/makefile,
+ dswifi/arm9/source/sgIP.c, dswifi/arm9/source/sgIP.h,
+ dswifi/arm9/source/sgIP_ARP.c, dswifi/arm9/source/sgIP_ARP.h,
+ dswifi/arm9/source/sgIP_Config.h, dswifi/arm9/source/sgIP_DHCP.c,
+ dswifi/arm9/source/sgIP_DHCP.h, dswifi/arm9/source/sgIP_DNS.c,
+ dswifi/arm9/source/sgIP_DNS.h, dswifi/arm9/source/sgIP_Hub.c,
+ dswifi/arm9/source/sgIP_Hub.h, dswifi/arm9/source/sgIP_ICMP.c,
+ dswifi/arm9/source/sgIP_ICMP.h, dswifi/arm9/source/sgIP_IP.c,
+ dswifi/arm9/source/sgIP_IP.h, dswifi/arm9/source/sgIP_TCP.c,
+ dswifi/arm9/source/sgIP_TCP.h, dswifi/arm9/source/sgIP_UDP.c,
+ dswifi/arm9/source/sgIP_UDP.h, dswifi/arm9/source/sgIP_memblock.c,
+ dswifi/arm9/source/sgIP_memblock.h,
+ dswifi/arm9/source/sgIP_sockets.c, dswifi/arm9/source/sgIP_sockets.h,
+ dswifi/arm9/source/wifi_arm9.c, dswifi/arm9/source/wifi_arm9.h,
+ dswifi/common/source/dsregs.h, dswifi/common/source/spinlock.h,
+ dswifi/common/source/spinlock.s, dswifi/common/source/wifi_shared.h,
+ dswifi/include/dswifi7.h, dswifi/include/dswifi9.h,
+ dswifi/include/dswifi_version.h, dswifi/include/netdb.h,
+ dswifi/include/sgIP_errno.h, dswifi/include/netinet/in.h, fb/fb.c,
+ fb/fb.h, include/bsp.h, include/my_ipc.h, include/tm27.h,
+ include/types.h, include/sys/iosupport.h, irq/irq.c, irq/irq.h,
+ libfat/gba/include/fat.h, libfat/include/fat.h,
+ libfat/nds/include/fat.h, libfat/source/bit_ops.h,
+ libfat/source/cache.c, libfat/source/cache.h, libfat/source/common.h,
+ libfat/source/directory.c, libfat/source/directory.h,
+ libfat/source/fatdir.c, libfat/source/fatdir.h,
+ libfat/source/fatfile.c, libfat/source/fatfile.h,
+ libfat/source/file_allocation_table.c,
+ libfat/source/file_allocation_table.h, libfat/source/filetime.c,
+ libfat/source/filetime.h, libfat/source/libfat.c,
+ libfat/source/mem_allocate.h, libfat/source/partition.c,
+ libfat/source/partition.h, libfat/source/disc_io/disc.c,
+ libfat/source/disc_io/disc.h, libfat/source/disc_io/disc_io.h,
+ libfat/source/disc_io/io_cf_common.c,
+ libfat/source/disc_io/io_cf_common.h,
+ libfat/source/disc_io/io_dldi.h, libfat/source/disc_io/io_dldi.s,
+ libfat/source/disc_io/io_efa2.c, libfat/source/disc_io/io_efa2.h,
+ libfat/source/disc_io/io_fcsr.c, libfat/source/disc_io/io_fcsr.h,
+ libfat/source/disc_io/io_m3_common.c,
+ libfat/source/disc_io/io_m3_common.h,
+ libfat/source/disc_io/io_m3cf.c, libfat/source/disc_io/io_m3cf.h,
+ libfat/source/disc_io/io_m3sd.c, libfat/source/disc_io/io_m3sd.h,
+ libfat/source/disc_io/io_mpcf.c, libfat/source/disc_io/io_mpcf.h,
+ libfat/source/disc_io/io_njsd.c, libfat/source/disc_io/io_njsd.h,
+ libfat/source/disc_io/io_nmmc.c, libfat/source/disc_io/io_nmmc.h,
+ libfat/source/disc_io/io_sc_common.c,
+ libfat/source/disc_io/io_sc_common.h,
+ libfat/source/disc_io/io_sccf.c, libfat/source/disc_io/io_sccf.h,
+ libfat/source/disc_io/io_scsd.c, libfat/source/disc_io/io_scsd.h,
+ libfat/source/disc_io/io_scsd_s.s,
+ libfat/source/disc_io/io_sd_common.c,
+ libfat/source/disc_io/io_sd_common.h, libnds/Makefile.arm7,
+ libnds/Makefile.arm9, libnds/libnds_license.txt,
+ libnds/basicARM7/source/defaultARM7.c,
+ libnds/include/default_font_bin.h, libnds/include/gbfs.h,
+ libnds/include/nds.h, libnds/include/nds/bios.h,
+ libnds/include/nds/card.h, libnds/include/nds/dma.h,
+ libnds/include/nds/interrupts.h, libnds/include/nds/ipc.h,
+ libnds/include/nds/jtypes.h, libnds/include/nds/memory.h,
+ libnds/include/nds/registers_alt.h, libnds/include/nds/reload.h,
+ libnds/include/nds/system.h, libnds/include/nds/timers.h,
+ libnds/include/nds/arm7/audio.h, libnds/include/nds/arm7/clock.h,
+ libnds/include/nds/arm7/serial.h, libnds/include/nds/arm7/touch.h,
+ libnds/include/nds/arm9/background.h,
+ libnds/include/nds/arm9/boxtest.h, libnds/include/nds/arm9/cache.h,
+ libnds/include/nds/arm9/console.h,
+ libnds/include/nds/arm9/exceptions.h,
+ libnds/include/nds/arm9/image.h, libnds/include/nds/arm9/input.h,
+ libnds/include/nds/arm9/math.h, libnds/include/nds/arm9/ndsmotion.h,
+ libnds/include/nds/arm9/pcx.h, libnds/include/nds/arm9/postest.h,
+ libnds/include/nds/arm9/rumble.h, libnds/include/nds/arm9/sound.h,
+ libnds/include/nds/arm9/sprite.h, libnds/include/nds/arm9/trig_lut.h,
+ libnds/include/nds/arm9/video.h, libnds/include/nds/arm9/videoGL.h,
+ libnds/source/arm7/audio.c, libnds/source/arm7/clock.c,
+ libnds/source/arm7/microphone.c, libnds/source/arm7/spi.c,
+ libnds/source/arm7/touch.c, libnds/source/arm7/userSettings.c,
+ libnds/source/arm9/COS.bin, libnds/source/arm9/COS.s,
+ libnds/source/arm9/SIN.bin, libnds/source/arm9/SIN.s,
+ libnds/source/arm9/TAN.bin, libnds/source/arm9/TAN.s,
+ libnds/source/arm9/boxtest.c, libnds/source/arm9/console.c,
+ libnds/source/arm9/dcache.s, libnds/source/arm9/default_font.bin,
+ libnds/source/arm9/default_font.s,
+ libnds/source/arm9/exceptionHandler.S,
+ libnds/source/arm9/exceptionHandler.s,
+ libnds/source/arm9/exceptions.c, libnds/source/arm9/gurumeditation.c,
+ libnds/source/arm9/icache.s, libnds/source/arm9/image.c,
+ libnds/source/arm9/initSystem.c, libnds/source/arm9/keys.c,
+ libnds/source/arm9/ndsmotion.c, libnds/source/arm9/pcx.c,
+ libnds/source/arm9/rumble.c, libnds/source/arm9/sound.c,
+ libnds/source/arm9/system.c, libnds/source/arm9/touch.c,
+ libnds/source/arm9/video.c, libnds/source/arm9/videoGL.c,
+ libnds/source/common/biosCalls.s, libnds/source/common/card.c,
+ libnds/source/common/gbfs.c,
+ libnds/source/common/interruptDispatcher.s,
+ libnds/source/common/interrupts.c, rtc/rtc.c, sound/sound.c,
+ sound/sound.h, start/start.S, startup/linkcmds, startup/start.c,
+ timer/timer.c, tools/Makefile.am, tools/bin2s, tools/bin2s.c,
+ tools/configure.ac, tools/runtest,
+ tools/ndstool/include/arm7_sha1_homebrew.h,
+ tools/ndstool/include/arm7_sha1_nintendo.h,
+ tools/ndstool/include/banner.h, tools/ndstool/include/bigint.h,
+ tools/ndstool/include/crc.h, tools/ndstool/include/default_icon.h,
+ tools/ndstool/include/encryption.h, tools/ndstool/include/header.h,
+ tools/ndstool/include/hook.h, tools/ndstool/include/little.h,
+ tools/ndstool/include/loadme.h, tools/ndstool/include/logo.h,
+ tools/ndstool/include/ndscreate.h,
+ tools/ndstool/include/ndsextract.h, tools/ndstool/include/ndstool.h,
+ tools/ndstool/include/ndstree.h, tools/ndstool/include/overlay.h,
+ tools/ndstool/include/passme.h, tools/ndstool/include/passme_sram.h,
+ tools/ndstool/include/passme_vhd1.h,
+ tools/ndstool/include/passme_vhd2.h, tools/ndstool/include/raster.h,
+ tools/ndstool/include/sha1.h, tools/ndstool/include/types.h,
+ tools/ndstool/source/arm7_sha1_homebrew.c,
+ tools/ndstool/source/arm7_sha1_nintendo.c,
+ tools/ndstool/source/banner.cpp, tools/ndstool/source/bigint.cpp,
+ tools/ndstool/source/compile_date.c, tools/ndstool/source/crc.cpp,
+ tools/ndstool/source/default_icon.c,
+ tools/ndstool/source/encryption.cpp, tools/ndstool/source/header.cpp,
+ tools/ndstool/source/hook.cpp, tools/ndstool/source/loadme.c,
+ tools/ndstool/source/logo.cpp, tools/ndstool/source/ndscodes.cpp,
+ tools/ndstool/source/ndscreate.cpp,
+ tools/ndstool/source/ndsextract.cpp,
+ tools/ndstool/source/ndstool.cpp, tools/ndstool/source/ndstree.cpp,
+ tools/ndstool/source/passme.cpp, tools/ndstool/source/passme_sram.c,
+ tools/ndstool/source/raster.cpp, tools/ndstool/source/sha1.cpp,
+ touchscreen/README.reco, touchscreen/parser.c, touchscreen/reco.c,
+ touchscreen/reco.h, touchscreen/touchscreen.c,
+ touchscreen/touchscreen.h, wifi/compat.c, wifi/compat.h, wifi/wifi.c:
+ New files.
+
+ Revision 1.1 2006/07/04 01:35:32 wntrmute
+ move cache.s to dcache.s
+
+ Revision 1.5 2006/06/18 21:18:32 wntrmute
+ *** empty log message ***
+
+ Revision 1.4 2005/08/23 17:06:10 wntrmute
+ converted all endings to unix
+
+ Revision 1.3 2005/08/03 05:12:29 wntrmute
+ adjusted header for logging
+
+---------------------------------------------------------------------------------*/
+#define ICACHE_SIZE 0x2000
+#define DCACHE_SIZE 0x1000
+#define CACHE_LINE_SIZE 32
+//---------------------------------------------------------------------------------
+ .arm
+//---------------------------------------------------------------------------------
+ .global DC_FlushAll
+//---------------------------------------------------------------------------------
+DC_FlushAll:
+/*---------------------------------------------------------------------------------
+ Clean and invalidate entire data cache
+---------------------------------------------------------------------------------*/
+ mov r1, #0
+outer_loop:
+ mov r0, #0
+inner_loop:
+ orr r2, r1, r0 @ generate segment and line address
+ mcr p15, 0, r2, c7, c14, 2 @ clean and flush the line
+ add r0, r0, #CACHE_LINE_SIZE
+ cmp r0, #DCACHE_SIZE/4
+ bne inner_loop
+ add r1, r1, #0x40000000
+ cmp r1, #0
+ bne outer_loop
+ bx lr
+
+//---------------------------------------------------------------------------------
+ .global DC_FlushRange
+//---------------------------------------------------------------------------------
+DC_FlushRange:
+/*---------------------------------------------------------------------------------
+ Clean and invalidate a range
+---------------------------------------------------------------------------------*/
+ add r1, r1, r0
+ bic r0, r0, #(CACHE_LINE_SIZE - 1)
+.flush:
+ mcr p15, 0, r0, c7, c14, 1 @ clean and flush address
+ add r0, r0, #CACHE_LINE_SIZE
+ cmp r0, r1
+ blt .flush
+ bx lr
+
+//---------------------------------------------------------------------------------
+ .global DC_InvalidateAll
+//---------------------------------------------------------------------------------
+DC_InvalidateAll:
+/*---------------------------------------------------------------------------------
+ Clean and invalidate entire data cache
+---------------------------------------------------------------------------------*/
+ mov r0, #0
+ mcr p15, 0, r0, c7, c6, 0
+ bx lr
+
+//---------------------------------------------------------------------------------
+ .global DC_InvalidateRange
+//---------------------------------------------------------------------------------
+DC_InvalidateRange:
+/*---------------------------------------------------------------------------------
+ Invalidate a range
+---------------------------------------------------------------------------------*/
+ add r1, r1, r0
+ bic r0, r0, #CACHE_LINE_SIZE - 1
+.invalidate:
+ mcr p15, 0, r0, c7, c6, 1
+ add r0, r0, #CACHE_LINE_SIZE
+ cmp r0, r1
+ blt .invalidate
+ bx lr
diff --git a/c/src/lib/libbsp/arm/nds/libnds/source/arm9/dcache.s b/c/src/lib/libbsp/arm/nds/libnds/source/arm9/dcache.s
deleted file mode 100644
index 39c8519933..0000000000
--- a/c/src/lib/libbsp/arm/nds/libnds/source/arm9/dcache.s
+++ /dev/null
@@ -1,107 +0,0 @@
-/*---------------------------------------------------------------------------------
- $Id$
-
- Copyright (C) 2005
- Michael Noland (joat)
- Jason Rogers (dovoto)
- Dave Murphy (WinterMute)
-
- This software is provided 'as-is', without any express or implied
- warranty. In no event will the authors be held liable for any
- damages arising from the use of this software.
-
- Permission is granted to anyone to use this software for any
- purpose, including commercial applications, and to alter it and
- redistribute it freely, subject to the following restrictions:
-
- 1. The origin of this software must not be misrepresented; you
- must not claim that you wrote the original software. If you use
- this software in a product, an acknowledgment in the product
- documentation would be appreciated but is not required.
- 2. Altered source versions must be plainly marked as such, and
- must not be misrepresented as being the original software.
- 3. This notice may not be removed or altered from any source
- distribution.
-
- $Log$
- Revision 1.1 2006/07/04 01:35:32 wntrmute
- move cache.s to dcache.s
-
- Revision 1.5 2006/06/18 21:18:32 wntrmute
- *** empty log message ***
-
- Revision 1.4 2005/08/23 17:06:10 wntrmute
- converted all endings to unix
-
- Revision 1.3 2005/08/03 05:12:29 wntrmute
- adjusted header for logging
-
----------------------------------------------------------------------------------*/
-#define ICACHE_SIZE 0x2000
-#define DCACHE_SIZE 0x1000
-#define CACHE_LINE_SIZE 32
-//---------------------------------------------------------------------------------
- .arm
-//---------------------------------------------------------------------------------
- .global DC_FlushAll
-//---------------------------------------------------------------------------------
-DC_FlushAll:
-/*---------------------------------------------------------------------------------
- Clean and invalidate entire data cache
----------------------------------------------------------------------------------*/
- mov r1, #0
-outer_loop:
- mov r0, #0
-inner_loop:
- orr r2, r1, r0 @ generate segment and line address
- mcr p15, 0, r2, c7, c14, 2 @ clean and flush the line
- add r0, r0, #CACHE_LINE_SIZE
- cmp r0, #DCACHE_SIZE/4
- bne inner_loop
- add r1, r1, #0x40000000
- cmp r1, #0
- bne outer_loop
- bx lr
-
-//---------------------------------------------------------------------------------
- .global DC_FlushRange
-//---------------------------------------------------------------------------------
-DC_FlushRange:
-/*---------------------------------------------------------------------------------
- Clean and invalidate a range
----------------------------------------------------------------------------------*/
- add r1, r1, r0
- bic r0, r0, #(CACHE_LINE_SIZE - 1)
-.flush:
- mcr p15, 0, r0, c7, c14, 1 @ clean and flush address
- add r0, r0, #CACHE_LINE_SIZE
- cmp r0, r1
- blt .flush
- bx lr
-
-//---------------------------------------------------------------------------------
- .global DC_InvalidateAll
-//---------------------------------------------------------------------------------
-DC_InvalidateAll:
-/*---------------------------------------------------------------------------------
- Clean and invalidate entire data cache
----------------------------------------------------------------------------------*/
- mov r0, #0
- mcr p15, 0, r0, c7, c6, 0
- bx lr
-
-//---------------------------------------------------------------------------------
- .global DC_InvalidateRange
-//---------------------------------------------------------------------------------
-DC_InvalidateRange:
-/*---------------------------------------------------------------------------------
- Invalidate a range
----------------------------------------------------------------------------------*/
- add r1, r1, r0
- bic r0, r0, #CACHE_LINE_SIZE - 1
-.invalidate:
- mcr p15, 0, r0, c7, c6, 1
- add r0, r0, #CACHE_LINE_SIZE
- cmp r0, r1
- blt .invalidate
- bx lr
diff --git a/c/src/lib/libbsp/arm/nds/libnds/source/arm9/default_font.s b/c/src/lib/libbsp/arm/nds/libnds/source/arm9/default_font.S
index 743677700e..743677700e 100644
--- a/c/src/lib/libbsp/arm/nds/libnds/source/arm9/default_font.s
+++ b/c/src/lib/libbsp/arm/nds/libnds/source/arm9/default_font.S
diff --git a/c/src/lib/libbsp/arm/nds/libnds/source/arm9/exceptionHandler.s b/c/src/lib/libbsp/arm/nds/libnds/source/arm9/exceptionHandler.s
deleted file mode 100644
index 7397dcfcac..0000000000
--- a/c/src/lib/libbsp/arm/nds/libnds/source/arm9/exceptionHandler.s
+++ /dev/null
@@ -1,123 +0,0 @@
-/*---------------------------------------------------------------------------------
- $Id$
-
- Copyright (C) 2005
- Dave Murphy (WinterMute)
-
- This software is provided 'as-is', without any express or implied
- warranty. In no event will the authors be held liable for any
- damages arising from the use of this software.
-
- Permission is granted to anyone to use this software for any
- purpose, including commercial applications, and to alter it and
- redistribute it freely, subject to the following restrictions:
-
- 1. The origin of this software must not be misrepresented; you
- must not claim that you wrote the original software. If you use
- this software in a product, an acknowledgment in the product
- documentation would be appreciated but is not required.
- 2. Altered source versions must be plainly marked as such, and
- must not be misrepresented as being the original software.
- 3. This notice may not be removed or altered from any source
- distribution.
-
- $Log$
- Revision 1.3 2006/08/03 09:35:36 wntrmute
- fix storing pc
-
- Revision 1.2 2006/07/06 02:14:33 wntrmute
- read r15 in enterException
- add return to bios
-
- Revision 1.1 2006/06/18 21:16:26 wntrmute
- added arm9 exception handler API
-
-
----------------------------------------------------------------------------------*/
- .text
-
- .arm
-
-@---------------------------------------------------------------------------------
- .global getCPSR
-@---------------------------------------------------------------------------------
-getCPSR:
-@---------------------------------------------------------------------------------
- mrs r0,cpsr
- bx r14
-
-@---------------------------------------------------------------------------------
- .global enterException
-@---------------------------------------------------------------------------------
-enterException:
-@---------------------------------------------------------------------------------
- // store context
- ldr r12,=exceptionRegisters
- stmia r12,{r0-r11}
- str r13,[r12,#oldStack - exceptionRegisters]
- // assign a stack
- ldr r13,=exceptionStack
- ldr r13,[r13]
-
- // renable MPU
- mrc p15,0,r0,c1,c0,0
- orr r0,r0,#1
- mcr p15,0,r0,c1,c0,0
-
- // bios exception stack
- ldr r0, =0x027FFD90
-
- // grab r15 from bios exception stack
- ldr r2,[r0,#8]
- str r2,[r12,#reg15 - exceptionRegisters]
-
- // grab stored r12 and SPSR from bios exception stack
- ldmia r0,{r2,r12}
-
-
- // grab banked registers from correct processor mode
- mrs r3,cpsr
- bic r4,r3,#0x1F
- and r2,r2,#0x1F
- orr r4,r4,r2
- msr cpsr,r4
- ldr r0,=reg12
- stmia r0,{r12-r14}
- msr cpsr,r3
-
- // Get C function & call it
- ldr r12,=exceptionC
- ldr r12,[r12,#0]
- blxne r12
-
- // restore registers
- ldr r12,=exceptionRegisters
- ldmia r12,{r0-r11}
- ldr r13,[r12,#oldStack - exceptionRegisters]
-
- // return through bios
- mov pc,lr
-
-@---------------------------------------------------------------------------------
- .global exceptionC
-@---------------------------------------------------------------------------------
-exceptionC:
-@---------------------------------------------------------------------------------
- .word 0x00000000
-@---------------------------------------------------------------------------------
- .global exceptionStack
-@---------------------------------------------------------------------------------
-exceptionStack:
-@---------------------------------------------------------------------------------
- .word 0x00000000
-@---------------------------------------------------------------------------------
- .global exceptionRegisters
-@---------------------------------------------------------------------------------
-exceptionRegisters:
-@---------------------------------------------------------------------------------
- .space 12 * 4
-reg12: .word 0
-reg13: .word 0
-reg14: .word 0
-reg15: .word 0
-oldStack: .word 0
diff --git a/c/src/lib/libbsp/arm/nds/libnds/source/arm9/icache.s b/c/src/lib/libbsp/arm/nds/libnds/source/arm9/icache.S
index 811486082d..811486082d 100644
--- a/c/src/lib/libbsp/arm/nds/libnds/source/arm9/icache.s
+++ b/c/src/lib/libbsp/arm/nds/libnds/source/arm9/icache.S
diff --git a/c/src/lib/libbsp/arm/nds/libnds/source/common/biosCalls.s b/c/src/lib/libbsp/arm/nds/libnds/source/common/biosCalls.S
index a59debef6c..5f23c83713 100644
--- a/c/src/lib/libbsp/arm/nds/libnds/source/common/biosCalls.s
+++ b/c/src/lib/libbsp/arm/nds/libnds/source/common/biosCalls.S
@@ -24,6 +24,144 @@
distribution.
$Log$
+ Revision 1.1 2008/04/16 18:37:32 joel
+ 2008-04-16 Matthieu Bucchianeri <mbucchia@gmail.com>
+
+ * ChangeLog, Makefile.am, README, bsp_specs, configure.ac,
+ mk_libnds.sh, patch.libnds, preinstall.am, block/block.c,
+ clock/clock.c, console/console.c, coproc/coproc.S, coproc/coproc.c,
+ coproc/coproc.ld, dswifi/dswifi_license.txt, dswifi/makefile,
+ dswifi/arm7/makefile, dswifi/arm7/source/wifi_arm7.c,
+ dswifi/arm7/source/wifi_arm7.h, dswifi/arm9/makefile,
+ dswifi/arm9/source/sgIP.c, dswifi/arm9/source/sgIP.h,
+ dswifi/arm9/source/sgIP_ARP.c, dswifi/arm9/source/sgIP_ARP.h,
+ dswifi/arm9/source/sgIP_Config.h, dswifi/arm9/source/sgIP_DHCP.c,
+ dswifi/arm9/source/sgIP_DHCP.h, dswifi/arm9/source/sgIP_DNS.c,
+ dswifi/arm9/source/sgIP_DNS.h, dswifi/arm9/source/sgIP_Hub.c,
+ dswifi/arm9/source/sgIP_Hub.h, dswifi/arm9/source/sgIP_ICMP.c,
+ dswifi/arm9/source/sgIP_ICMP.h, dswifi/arm9/source/sgIP_IP.c,
+ dswifi/arm9/source/sgIP_IP.h, dswifi/arm9/source/sgIP_TCP.c,
+ dswifi/arm9/source/sgIP_TCP.h, dswifi/arm9/source/sgIP_UDP.c,
+ dswifi/arm9/source/sgIP_UDP.h, dswifi/arm9/source/sgIP_memblock.c,
+ dswifi/arm9/source/sgIP_memblock.h,
+ dswifi/arm9/source/sgIP_sockets.c, dswifi/arm9/source/sgIP_sockets.h,
+ dswifi/arm9/source/wifi_arm9.c, dswifi/arm9/source/wifi_arm9.h,
+ dswifi/common/source/dsregs.h, dswifi/common/source/spinlock.h,
+ dswifi/common/source/spinlock.s, dswifi/common/source/wifi_shared.h,
+ dswifi/include/dswifi7.h, dswifi/include/dswifi9.h,
+ dswifi/include/dswifi_version.h, dswifi/include/netdb.h,
+ dswifi/include/sgIP_errno.h, dswifi/include/netinet/in.h, fb/fb.c,
+ fb/fb.h, include/bsp.h, include/my_ipc.h, include/tm27.h,
+ include/types.h, include/sys/iosupport.h, irq/irq.c, irq/irq.h,
+ libfat/gba/include/fat.h, libfat/include/fat.h,
+ libfat/nds/include/fat.h, libfat/source/bit_ops.h,
+ libfat/source/cache.c, libfat/source/cache.h, libfat/source/common.h,
+ libfat/source/directory.c, libfat/source/directory.h,
+ libfat/source/fatdir.c, libfat/source/fatdir.h,
+ libfat/source/fatfile.c, libfat/source/fatfile.h,
+ libfat/source/file_allocation_table.c,
+ libfat/source/file_allocation_table.h, libfat/source/filetime.c,
+ libfat/source/filetime.h, libfat/source/libfat.c,
+ libfat/source/mem_allocate.h, libfat/source/partition.c,
+ libfat/source/partition.h, libfat/source/disc_io/disc.c,
+ libfat/source/disc_io/disc.h, libfat/source/disc_io/disc_io.h,
+ libfat/source/disc_io/io_cf_common.c,
+ libfat/source/disc_io/io_cf_common.h,
+ libfat/source/disc_io/io_dldi.h, libfat/source/disc_io/io_dldi.s,
+ libfat/source/disc_io/io_efa2.c, libfat/source/disc_io/io_efa2.h,
+ libfat/source/disc_io/io_fcsr.c, libfat/source/disc_io/io_fcsr.h,
+ libfat/source/disc_io/io_m3_common.c,
+ libfat/source/disc_io/io_m3_common.h,
+ libfat/source/disc_io/io_m3cf.c, libfat/source/disc_io/io_m3cf.h,
+ libfat/source/disc_io/io_m3sd.c, libfat/source/disc_io/io_m3sd.h,
+ libfat/source/disc_io/io_mpcf.c, libfat/source/disc_io/io_mpcf.h,
+ libfat/source/disc_io/io_njsd.c, libfat/source/disc_io/io_njsd.h,
+ libfat/source/disc_io/io_nmmc.c, libfat/source/disc_io/io_nmmc.h,
+ libfat/source/disc_io/io_sc_common.c,
+ libfat/source/disc_io/io_sc_common.h,
+ libfat/source/disc_io/io_sccf.c, libfat/source/disc_io/io_sccf.h,
+ libfat/source/disc_io/io_scsd.c, libfat/source/disc_io/io_scsd.h,
+ libfat/source/disc_io/io_scsd_s.s,
+ libfat/source/disc_io/io_sd_common.c,
+ libfat/source/disc_io/io_sd_common.h, libnds/Makefile.arm7,
+ libnds/Makefile.arm9, libnds/libnds_license.txt,
+ libnds/basicARM7/source/defaultARM7.c,
+ libnds/include/default_font_bin.h, libnds/include/gbfs.h,
+ libnds/include/nds.h, libnds/include/nds/bios.h,
+ libnds/include/nds/card.h, libnds/include/nds/dma.h,
+ libnds/include/nds/interrupts.h, libnds/include/nds/ipc.h,
+ libnds/include/nds/jtypes.h, libnds/include/nds/memory.h,
+ libnds/include/nds/registers_alt.h, libnds/include/nds/reload.h,
+ libnds/include/nds/system.h, libnds/include/nds/timers.h,
+ libnds/include/nds/arm7/audio.h, libnds/include/nds/arm7/clock.h,
+ libnds/include/nds/arm7/serial.h, libnds/include/nds/arm7/touch.h,
+ libnds/include/nds/arm9/background.h,
+ libnds/include/nds/arm9/boxtest.h, libnds/include/nds/arm9/cache.h,
+ libnds/include/nds/arm9/console.h,
+ libnds/include/nds/arm9/exceptions.h,
+ libnds/include/nds/arm9/image.h, libnds/include/nds/arm9/input.h,
+ libnds/include/nds/arm9/math.h, libnds/include/nds/arm9/ndsmotion.h,
+ libnds/include/nds/arm9/pcx.h, libnds/include/nds/arm9/postest.h,
+ libnds/include/nds/arm9/rumble.h, libnds/include/nds/arm9/sound.h,
+ libnds/include/nds/arm9/sprite.h, libnds/include/nds/arm9/trig_lut.h,
+ libnds/include/nds/arm9/video.h, libnds/include/nds/arm9/videoGL.h,
+ libnds/source/arm7/audio.c, libnds/source/arm7/clock.c,
+ libnds/source/arm7/microphone.c, libnds/source/arm7/spi.c,
+ libnds/source/arm7/touch.c, libnds/source/arm7/userSettings.c,
+ libnds/source/arm9/COS.bin, libnds/source/arm9/COS.s,
+ libnds/source/arm9/SIN.bin, libnds/source/arm9/SIN.s,
+ libnds/source/arm9/TAN.bin, libnds/source/arm9/TAN.s,
+ libnds/source/arm9/boxtest.c, libnds/source/arm9/console.c,
+ libnds/source/arm9/dcache.s, libnds/source/arm9/default_font.bin,
+ libnds/source/arm9/default_font.s,
+ libnds/source/arm9/exceptionHandler.S,
+ libnds/source/arm9/exceptionHandler.s,
+ libnds/source/arm9/exceptions.c, libnds/source/arm9/gurumeditation.c,
+ libnds/source/arm9/icache.s, libnds/source/arm9/image.c,
+ libnds/source/arm9/initSystem.c, libnds/source/arm9/keys.c,
+ libnds/source/arm9/ndsmotion.c, libnds/source/arm9/pcx.c,
+ libnds/source/arm9/rumble.c, libnds/source/arm9/sound.c,
+ libnds/source/arm9/system.c, libnds/source/arm9/touch.c,
+ libnds/source/arm9/video.c, libnds/source/arm9/videoGL.c,
+ libnds/source/common/biosCalls.s, libnds/source/common/card.c,
+ libnds/source/common/gbfs.c,
+ libnds/source/common/interruptDispatcher.s,
+ libnds/source/common/interrupts.c, rtc/rtc.c, sound/sound.c,
+ sound/sound.h, start/start.S, startup/linkcmds, startup/start.c,
+ timer/timer.c, tools/Makefile.am, tools/bin2s, tools/bin2s.c,
+ tools/configure.ac, tools/runtest,
+ tools/ndstool/include/arm7_sha1_homebrew.h,
+ tools/ndstool/include/arm7_sha1_nintendo.h,
+ tools/ndstool/include/banner.h, tools/ndstool/include/bigint.h,
+ tools/ndstool/include/crc.h, tools/ndstool/include/default_icon.h,
+ tools/ndstool/include/encryption.h, tools/ndstool/include/header.h,
+ tools/ndstool/include/hook.h, tools/ndstool/include/little.h,
+ tools/ndstool/include/loadme.h, tools/ndstool/include/logo.h,
+ tools/ndstool/include/ndscreate.h,
+ tools/ndstool/include/ndsextract.h, tools/ndstool/include/ndstool.h,
+ tools/ndstool/include/ndstree.h, tools/ndstool/include/overlay.h,
+ tools/ndstool/include/passme.h, tools/ndstool/include/passme_sram.h,
+ tools/ndstool/include/passme_vhd1.h,
+ tools/ndstool/include/passme_vhd2.h, tools/ndstool/include/raster.h,
+ tools/ndstool/include/sha1.h, tools/ndstool/include/types.h,
+ tools/ndstool/source/arm7_sha1_homebrew.c,
+ tools/ndstool/source/arm7_sha1_nintendo.c,
+ tools/ndstool/source/banner.cpp, tools/ndstool/source/bigint.cpp,
+ tools/ndstool/source/compile_date.c, tools/ndstool/source/crc.cpp,
+ tools/ndstool/source/default_icon.c,
+ tools/ndstool/source/encryption.cpp, tools/ndstool/source/header.cpp,
+ tools/ndstool/source/hook.cpp, tools/ndstool/source/loadme.c,
+ tools/ndstool/source/logo.cpp, tools/ndstool/source/ndscodes.cpp,
+ tools/ndstool/source/ndscreate.cpp,
+ tools/ndstool/source/ndsextract.cpp,
+ tools/ndstool/source/ndstool.cpp, tools/ndstool/source/ndstree.cpp,
+ tools/ndstool/source/passme.cpp, tools/ndstool/source/passme_sram.c,
+ tools/ndstool/source/raster.cpp, tools/ndstool/source/sha1.cpp,
+ touchscreen/README.reco, touchscreen/parser.c, touchscreen/reco.c,
+ touchscreen/reco.h, touchscreen/touchscreen.c,
+ touchscreen/touchscreen.h, wifi/compat.c, wifi/compat.h, wifi/wifi.c:
+ New files.
+
Revision 1.5 2006/03/15 12:37:14 wntrmute
reformatted for legibility
grouped arm7 and arm9 specific code
diff --git a/c/src/lib/libbsp/arm/nds/libnds/source/common/interruptDispatcher.S b/c/src/lib/libbsp/arm/nds/libnds/source/common/interruptDispatcher.S
new file mode 100644
index 0000000000..4ef656f132
--- /dev/null
+++ b/c/src/lib/libbsp/arm/nds/libnds/source/common/interruptDispatcher.S
@@ -0,0 +1,290 @@
+/*---------------------------------------------------------------------------------
+ $Id$
+
+ Copyright (C) 2005
+ Dave Murphy (WinterMute)
+
+ This software is provided 'as-is', without any express or implied
+ warranty. In no event will the authors be held liable for any
+ damages arising from the use of this software.
+
+ Permission is granted to anyone to use this software for any
+ purpose, including commercial applications, and to alter it and
+ redistribute it freely, subject to the following restrictions:
+
+ 1. The origin of this software must not be misrepresented; you
+ must not claim that you wrote the original software. If you use
+ this software in a product, an acknowledgment in the product
+ documentation would be appreciated but is not required.
+ 2. Altered source versions must be plainly marked as such, and
+ must not be misrepresented as being the original software.
+ 3. This notice may not be removed or altered from any source
+ distribution.
+
+ $Log$
+ Revision 1.1 2008/04/16 18:37:33 joel
+ 2008-04-16 Matthieu Bucchianeri <mbucchia@gmail.com>
+
+ * ChangeLog, Makefile.am, README, bsp_specs, configure.ac,
+ mk_libnds.sh, patch.libnds, preinstall.am, block/block.c,
+ clock/clock.c, console/console.c, coproc/coproc.S, coproc/coproc.c,
+ coproc/coproc.ld, dswifi/dswifi_license.txt, dswifi/makefile,
+ dswifi/arm7/makefile, dswifi/arm7/source/wifi_arm7.c,
+ dswifi/arm7/source/wifi_arm7.h, dswifi/arm9/makefile,
+ dswifi/arm9/source/sgIP.c, dswifi/arm9/source/sgIP.h,
+ dswifi/arm9/source/sgIP_ARP.c, dswifi/arm9/source/sgIP_ARP.h,
+ dswifi/arm9/source/sgIP_Config.h, dswifi/arm9/source/sgIP_DHCP.c,
+ dswifi/arm9/source/sgIP_DHCP.h, dswifi/arm9/source/sgIP_DNS.c,
+ dswifi/arm9/source/sgIP_DNS.h, dswifi/arm9/source/sgIP_Hub.c,
+ dswifi/arm9/source/sgIP_Hub.h, dswifi/arm9/source/sgIP_ICMP.c,
+ dswifi/arm9/source/sgIP_ICMP.h, dswifi/arm9/source/sgIP_IP.c,
+ dswifi/arm9/source/sgIP_IP.h, dswifi/arm9/source/sgIP_TCP.c,
+ dswifi/arm9/source/sgIP_TCP.h, dswifi/arm9/source/sgIP_UDP.c,
+ dswifi/arm9/source/sgIP_UDP.h, dswifi/arm9/source/sgIP_memblock.c,
+ dswifi/arm9/source/sgIP_memblock.h,
+ dswifi/arm9/source/sgIP_sockets.c, dswifi/arm9/source/sgIP_sockets.h,
+ dswifi/arm9/source/wifi_arm9.c, dswifi/arm9/source/wifi_arm9.h,
+ dswifi/common/source/dsregs.h, dswifi/common/source/spinlock.h,
+ dswifi/common/source/spinlock.s, dswifi/common/source/wifi_shared.h,
+ dswifi/include/dswifi7.h, dswifi/include/dswifi9.h,
+ dswifi/include/dswifi_version.h, dswifi/include/netdb.h,
+ dswifi/include/sgIP_errno.h, dswifi/include/netinet/in.h, fb/fb.c,
+ fb/fb.h, include/bsp.h, include/my_ipc.h, include/tm27.h,
+ include/types.h, include/sys/iosupport.h, irq/irq.c, irq/irq.h,
+ libfat/gba/include/fat.h, libfat/include/fat.h,
+ libfat/nds/include/fat.h, libfat/source/bit_ops.h,
+ libfat/source/cache.c, libfat/source/cache.h, libfat/source/common.h,
+ libfat/source/directory.c, libfat/source/directory.h,
+ libfat/source/fatdir.c, libfat/source/fatdir.h,
+ libfat/source/fatfile.c, libfat/source/fatfile.h,
+ libfat/source/file_allocation_table.c,
+ libfat/source/file_allocation_table.h, libfat/source/filetime.c,
+ libfat/source/filetime.h, libfat/source/libfat.c,
+ libfat/source/mem_allocate.h, libfat/source/partition.c,
+ libfat/source/partition.h, libfat/source/disc_io/disc.c,
+ libfat/source/disc_io/disc.h, libfat/source/disc_io/disc_io.h,
+ libfat/source/disc_io/io_cf_common.c,
+ libfat/source/disc_io/io_cf_common.h,
+ libfat/source/disc_io/io_dldi.h, libfat/source/disc_io/io_dldi.s,
+ libfat/source/disc_io/io_efa2.c, libfat/source/disc_io/io_efa2.h,
+ libfat/source/disc_io/io_fcsr.c, libfat/source/disc_io/io_fcsr.h,
+ libfat/source/disc_io/io_m3_common.c,
+ libfat/source/disc_io/io_m3_common.h,
+ libfat/source/disc_io/io_m3cf.c, libfat/source/disc_io/io_m3cf.h,
+ libfat/source/disc_io/io_m3sd.c, libfat/source/disc_io/io_m3sd.h,
+ libfat/source/disc_io/io_mpcf.c, libfat/source/disc_io/io_mpcf.h,
+ libfat/source/disc_io/io_njsd.c, libfat/source/disc_io/io_njsd.h,
+ libfat/source/disc_io/io_nmmc.c, libfat/source/disc_io/io_nmmc.h,
+ libfat/source/disc_io/io_sc_common.c,
+ libfat/source/disc_io/io_sc_common.h,
+ libfat/source/disc_io/io_sccf.c, libfat/source/disc_io/io_sccf.h,
+ libfat/source/disc_io/io_scsd.c, libfat/source/disc_io/io_scsd.h,
+ libfat/source/disc_io/io_scsd_s.s,
+ libfat/source/disc_io/io_sd_common.c,
+ libfat/source/disc_io/io_sd_common.h, libnds/Makefile.arm7,
+ libnds/Makefile.arm9, libnds/libnds_license.txt,
+ libnds/basicARM7/source/defaultARM7.c,
+ libnds/include/default_font_bin.h, libnds/include/gbfs.h,
+ libnds/include/nds.h, libnds/include/nds/bios.h,
+ libnds/include/nds/card.h, libnds/include/nds/dma.h,
+ libnds/include/nds/interrupts.h, libnds/include/nds/ipc.h,
+ libnds/include/nds/jtypes.h, libnds/include/nds/memory.h,
+ libnds/include/nds/registers_alt.h, libnds/include/nds/reload.h,
+ libnds/include/nds/system.h, libnds/include/nds/timers.h,
+ libnds/include/nds/arm7/audio.h, libnds/include/nds/arm7/clock.h,
+ libnds/include/nds/arm7/serial.h, libnds/include/nds/arm7/touch.h,
+ libnds/include/nds/arm9/background.h,
+ libnds/include/nds/arm9/boxtest.h, libnds/include/nds/arm9/cache.h,
+ libnds/include/nds/arm9/console.h,
+ libnds/include/nds/arm9/exceptions.h,
+ libnds/include/nds/arm9/image.h, libnds/include/nds/arm9/input.h,
+ libnds/include/nds/arm9/math.h, libnds/include/nds/arm9/ndsmotion.h,
+ libnds/include/nds/arm9/pcx.h, libnds/include/nds/arm9/postest.h,
+ libnds/include/nds/arm9/rumble.h, libnds/include/nds/arm9/sound.h,
+ libnds/include/nds/arm9/sprite.h, libnds/include/nds/arm9/trig_lut.h,
+ libnds/include/nds/arm9/video.h, libnds/include/nds/arm9/videoGL.h,
+ libnds/source/arm7/audio.c, libnds/source/arm7/clock.c,
+ libnds/source/arm7/microphone.c, libnds/source/arm7/spi.c,
+ libnds/source/arm7/touch.c, libnds/source/arm7/userSettings.c,
+ libnds/source/arm9/COS.bin, libnds/source/arm9/COS.s,
+ libnds/source/arm9/SIN.bin, libnds/source/arm9/SIN.s,
+ libnds/source/arm9/TAN.bin, libnds/source/arm9/TAN.s,
+ libnds/source/arm9/boxtest.c, libnds/source/arm9/console.c,
+ libnds/source/arm9/dcache.s, libnds/source/arm9/default_font.bin,
+ libnds/source/arm9/default_font.s,
+ libnds/source/arm9/exceptionHandler.S,
+ libnds/source/arm9/exceptionHandler.s,
+ libnds/source/arm9/exceptions.c, libnds/source/arm9/gurumeditation.c,
+ libnds/source/arm9/icache.s, libnds/source/arm9/image.c,
+ libnds/source/arm9/initSystem.c, libnds/source/arm9/keys.c,
+ libnds/source/arm9/ndsmotion.c, libnds/source/arm9/pcx.c,
+ libnds/source/arm9/rumble.c, libnds/source/arm9/sound.c,
+ libnds/source/arm9/system.c, libnds/source/arm9/touch.c,
+ libnds/source/arm9/video.c, libnds/source/arm9/videoGL.c,
+ libnds/source/common/biosCalls.s, libnds/source/common/card.c,
+ libnds/source/common/gbfs.c,
+ libnds/source/common/interruptDispatcher.s,
+ libnds/source/common/interrupts.c, rtc/rtc.c, sound/sound.c,
+ sound/sound.h, start/start.S, startup/linkcmds, startup/start.c,
+ timer/timer.c, tools/Makefile.am, tools/bin2s, tools/bin2s.c,
+ tools/configure.ac, tools/runtest,
+ tools/ndstool/include/arm7_sha1_homebrew.h,
+ tools/ndstool/include/arm7_sha1_nintendo.h,
+ tools/ndstool/include/banner.h, tools/ndstool/include/bigint.h,
+ tools/ndstool/include/crc.h, tools/ndstool/include/default_icon.h,
+ tools/ndstool/include/encryption.h, tools/ndstool/include/header.h,
+ tools/ndstool/include/hook.h, tools/ndstool/include/little.h,
+ tools/ndstool/include/loadme.h, tools/ndstool/include/logo.h,
+ tools/ndstool/include/ndscreate.h,
+ tools/ndstool/include/ndsextract.h, tools/ndstool/include/ndstool.h,
+ tools/ndstool/include/ndstree.h, tools/ndstool/include/overlay.h,
+ tools/ndstool/include/passme.h, tools/ndstool/include/passme_sram.h,
+ tools/ndstool/include/passme_vhd1.h,
+ tools/ndstool/include/passme_vhd2.h, tools/ndstool/include/raster.h,
+ tools/ndstool/include/sha1.h, tools/ndstool/include/types.h,
+ tools/ndstool/source/arm7_sha1_homebrew.c,
+ tools/ndstool/source/arm7_sha1_nintendo.c,
+ tools/ndstool/source/banner.cpp, tools/ndstool/source/bigint.cpp,
+ tools/ndstool/source/compile_date.c, tools/ndstool/source/crc.cpp,
+ tools/ndstool/source/default_icon.c,
+ tools/ndstool/source/encryption.cpp, tools/ndstool/source/header.cpp,
+ tools/ndstool/source/hook.cpp, tools/ndstool/source/loadme.c,
+ tools/ndstool/source/logo.cpp, tools/ndstool/source/ndscodes.cpp,
+ tools/ndstool/source/ndscreate.cpp,
+ tools/ndstool/source/ndsextract.cpp,
+ tools/ndstool/source/ndstool.cpp, tools/ndstool/source/ndstree.cpp,
+ tools/ndstool/source/passme.cpp, tools/ndstool/source/passme_sram.c,
+ tools/ndstool/source/raster.cpp, tools/ndstool/source/sha1.cpp,
+ touchscreen/README.reco, touchscreen/parser.c, touchscreen/reco.c,
+ touchscreen/reco.h, touchscreen/touchscreen.c,
+ touchscreen/touchscreen.h, wifi/compat.c, wifi/compat.h, wifi/wifi.c:
+ New files.
+
+ Revision 1.10 2007/08/11 06:00:23 wntrmute
+ make nesting really work
+
+ Revision 1.9 2007/01/10 15:48:27 wntrmute
+ remove unused code
+
+ Revision 1.8 2006/12/16 09:10:02 wntrmute
+ acknowledge interrupt before calling handler
+
+ Revision 1.7 2006/04/26 05:11:31 wntrmute
+ rebase dtcm, take __irq_flags and __irq_vector from linker script
+ move arm7 irq vector & irq flags to actual locations
+
+ Revision 1.6 2006/04/23 18:19:15 wntrmute
+ reworked interrupt code to allow dtcm moving
+
+ Revision 1.5 2005/12/12 13:01:55 wntrmute
+ disable interrupts on return from user handler
+
+ Revision 1.4 2005/10/21 22:43:42 wntrmute
+ restore REG_IME on exit from null handler
+
+ Revision 1.3 2005/09/27 18:21:53 wntrmute
+ safer nested interrupt support
+
+ Revision 1.2 2005/09/04 16:37:01 wntrmute
+ check for NULL handler
+
+ Revision 1.1 2005/09/03 17:09:35 wntrmute
+ added interworking aware interrupt dispatcher
+
+
+---------------------------------------------------------------------------------*/
+
+#ifdef ARM7
+ .text
+#endif
+
+#ifdef ARM9
+ .section .itcm,"ax",%progbits
+#endif
+
+ .extern irqTable
+ .code 32
+
+ .global IntrMain
+@---------------------------------------------------------------------------------
+IntrMain:
+@---------------------------------------------------------------------------------
+ mov r3, #0x4000000 @ REG_BASE
+
+ ldr r1, [r3, #0x208] @ r1 = IME
+ str r3, [r3, #0x208] @ disable IME
+ mrs r0, spsr
+ stmfd sp!, {r0-r1,r3,lr} @ {spsr, IME, REG_BASE, lr_irq}
+
+ ldr r1, [r3,#0x210] @ REG_IE
+ ldr r2, [r3,#0x214] @ REG_IF
+ and r1,r1,r2
+
+ ldr r0,=__irq_flags @ defined by linker script
+
+ ldr r2,[r0]
+ orr r2,r2,r1
+ str r2,[r0]
+
+ ldr r2,=irqTable
+@---------------------------------------------------------------------------------
+findIRQ:
+@---------------------------------------------------------------------------------
+ ldr r0, [r2, #4]
+ cmp r0,#0
+ beq no_handler
+ ands r0, r0, r1
+ bne jump_intr
+ add r2, r2, #8
+ b findIRQ
+
+@---------------------------------------------------------------------------------
+no_handler:
+@---------------------------------------------------------------------------------
+ str r1, [r3, #0x0214] @ IF Clear
+ ldmfd sp!, {r0-r1,r3,lr} @ {spsr, IME, REG_BASE, lr_irq}
+ str r1, [r3, #0x208] @ restore REG_IME
+ mov pc,lr
+
+@---------------------------------------------------------------------------------
+jump_intr:
+@---------------------------------------------------------------------------------
+ ldr r1, [r2] @ user IRQ handler address
+ cmp r1, #0
+ bne got_handler
+ mov r1, r0
+ b no_handler
+@---------------------------------------------------------------------------------
+got_handler:
+@---------------------------------------------------------------------------------
+
+ mrs r2, cpsr
+ bic r2, r2, #0xdf @ \__
+ orr r2, r2, #0x1f @ / --> Enable IRQ & FIQ. Set CPU mode to System.
+ msr cpsr,r2
+
+ str r0, [r3, #0x0214] @ IF Clear
+
+ push {lr}
+ adr lr, IntrRet
+ bx r1
+
+@---------------------------------------------------------------------------------
+IntrRet:
+@---------------------------------------------------------------------------------
+ mov r3, #0x4000000 @ REG_BASE
+ str r3, [r3, #0x208] @ disable IME
+ pop {lr}
+
+ mrs r3, cpsr
+ bic r3, r3, #0xdf @ \__
+ orr r3, r3, #0x92 @ / --> Disable IRQ. Enable FIQ. Set CPU mode to IRQ.
+ msr cpsr, r3
+
+ ldmfd sp!, {r0-r1,r3,lr} @ {spsr, IME, REG_BASE, lr_irq}
+ msr spsr, r0 @ restore spsr
+ str r1, [r3, #0x208] @ restore REG_IME
+ mov pc,lr
+
+ .pool
+ .end
diff --git a/c/src/lib/libbsp/arm/nds/libnds/source/common/interruptDispatcher.s b/c/src/lib/libbsp/arm/nds/libnds/source/common/interruptDispatcher.s
deleted file mode 100644
index 70b726e6e6..0000000000
--- a/c/src/lib/libbsp/arm/nds/libnds/source/common/interruptDispatcher.s
+++ /dev/null
@@ -1,152 +0,0 @@
-/*---------------------------------------------------------------------------------
- $Id$
-
- Copyright (C) 2005
- Dave Murphy (WinterMute)
-
- This software is provided 'as-is', without any express or implied
- warranty. In no event will the authors be held liable for any
- damages arising from the use of this software.
-
- Permission is granted to anyone to use this software for any
- purpose, including commercial applications, and to alter it and
- redistribute it freely, subject to the following restrictions:
-
- 1. The origin of this software must not be misrepresented; you
- must not claim that you wrote the original software. If you use
- this software in a product, an acknowledgment in the product
- documentation would be appreciated but is not required.
- 2. Altered source versions must be plainly marked as such, and
- must not be misrepresented as being the original software.
- 3. This notice may not be removed or altered from any source
- distribution.
-
- $Log$
- Revision 1.10 2007/08/11 06:00:23 wntrmute
- make nesting really work
-
- Revision 1.9 2007/01/10 15:48:27 wntrmute
- remove unused code
-
- Revision 1.8 2006/12/16 09:10:02 wntrmute
- acknowledge interrupt before calling handler
-
- Revision 1.7 2006/04/26 05:11:31 wntrmute
- rebase dtcm, take __irq_flags and __irq_vector from linker script
- move arm7 irq vector & irq flags to actual locations
-
- Revision 1.6 2006/04/23 18:19:15 wntrmute
- reworked interrupt code to allow dtcm moving
-
- Revision 1.5 2005/12/12 13:01:55 wntrmute
- disable interrupts on return from user handler
-
- Revision 1.4 2005/10/21 22:43:42 wntrmute
- restore REG_IME on exit from null handler
-
- Revision 1.3 2005/09/27 18:21:53 wntrmute
- safer nested interrupt support
-
- Revision 1.2 2005/09/04 16:37:01 wntrmute
- check for NULL handler
-
- Revision 1.1 2005/09/03 17:09:35 wntrmute
- added interworking aware interrupt dispatcher
-
-
----------------------------------------------------------------------------------*/
-
-#ifdef ARM7
- .text
-#endif
-
-#ifdef ARM9
- .section .itcm,"ax",%progbits
-#endif
-
- .extern irqTable
- .code 32
-
- .global IntrMain
-@---------------------------------------------------------------------------------
-IntrMain:
-@---------------------------------------------------------------------------------
- mov r3, #0x4000000 @ REG_BASE
-
- ldr r1, [r3, #0x208] @ r1 = IME
- str r3, [r3, #0x208] @ disable IME
- mrs r0, spsr
- stmfd sp!, {r0-r1,r3,lr} @ {spsr, IME, REG_BASE, lr_irq}
-
- ldr r1, [r3,#0x210] @ REG_IE
- ldr r2, [r3,#0x214] @ REG_IF
- and r1,r1,r2
-
- ldr r0,=__irq_flags @ defined by linker script
-
- ldr r2,[r0]
- orr r2,r2,r1
- str r2,[r0]
-
- ldr r2,=irqTable
-@---------------------------------------------------------------------------------
-findIRQ:
-@---------------------------------------------------------------------------------
- ldr r0, [r2, #4]
- cmp r0,#0
- beq no_handler
- ands r0, r0, r1
- bne jump_intr
- add r2, r2, #8
- b findIRQ
-
-@---------------------------------------------------------------------------------
-no_handler:
-@---------------------------------------------------------------------------------
- str r1, [r3, #0x0214] @ IF Clear
- ldmfd sp!, {r0-r1,r3,lr} @ {spsr, IME, REG_BASE, lr_irq}
- str r1, [r3, #0x208] @ restore REG_IME
- mov pc,lr
-
-@---------------------------------------------------------------------------------
-jump_intr:
-@---------------------------------------------------------------------------------
- ldr r1, [r2] @ user IRQ handler address
- cmp r1, #0
- bne got_handler
- mov r1, r0
- b no_handler
-@---------------------------------------------------------------------------------
-got_handler:
-@---------------------------------------------------------------------------------
-
- mrs r2, cpsr
- bic r2, r2, #0xdf @ \__
- orr r2, r2, #0x1f @ / --> Enable IRQ & FIQ. Set CPU mode to System.
- msr cpsr,r2
-
- str r0, [r3, #0x0214] @ IF Clear
-
- push {lr}
- adr lr, IntrRet
- bx r1
-
-@---------------------------------------------------------------------------------
-IntrRet:
-@---------------------------------------------------------------------------------
- mov r3, #0x4000000 @ REG_BASE
- str r3, [r3, #0x208] @ disable IME
- pop {lr}
-
- mrs r3, cpsr
- bic r3, r3, #0xdf @ \__
- orr r3, r3, #0x92 @ / --> Disable IRQ. Enable FIQ. Set CPU mode to IRQ.
- msr cpsr, r3
-
- ldmfd sp!, {r0-r1,r3,lr} @ {spsr, IME, REG_BASE, lr_irq}
- msr spsr, r0 @ restore spsr
- str r1, [r3, #0x208] @ restore REG_IME
- mov pc,lr
-
- .pool
- .end