More compliant libc includes
authorlekernel <sebastien.bourdeauducq@lekernel.net>
Sat, 17 Oct 2009 11:04:38 +0000 (13:04 +0200)
committerlekernel <sebastien.bourdeauducq@lekernel.net>
Sat, 17 Oct 2009 11:04:38 +0000 (13:04 +0200)
55 files changed:
build_sdk.sh
software/bios/Makefile
software/bios/boot.c
software/bios/main.c
software/bios/splash.c
software/demo/Makefile
software/demo/analyzer.c
software/demo/apipe.c
software/demo/compiler.c
software/demo/cpustats.c
software/demo/eval.c
software/demo/isr.c
software/demo/line.c
software/demo/main.c
software/demo/parser.y
software/demo/parser_helper.c
software/demo/renderer.c
software/demo/rpipe.c
software/demo/scanner.re
software/demo/scheduler.c
software/demo/shell.c
software/demo/tick.c
software/demo/ui.c
software/demo/wave.c
software/include/assert.h [new file with mode: 0644]
software/include/console.h
software/include/ctype.h [new file with mode: 0644]
software/include/libc.h [deleted file]
software/include/limits.h [new file with mode: 0644]
software/include/malloc.h
software/include/stdarg.h
software/include/stdio.h
software/include/stdlib.h
software/include/string.h
software/libbase/Makefile
software/libbase/atof.c
software/libbase/board.c
software/libbase/cfcard.c
software/libbase/cffat.c
software/libbase/console.c
software/libbase/libc.c
software/libbase/malloc.c
software/libbase/softfloat-glue.c
software/libbase/vsnprintf-nofloat.c
software/libbase/vsnprintf.c
software/libhal/Makefile
software/libhal/brd.c
software/libhal/hdlcd.c
software/libhal/mem.c
software/libhal/pfpu.c
software/libhal/slowout.c
software/libhal/snd.c
software/libhal/time.c
software/libhal/tmu.c
software/libhal/vga.c

index af436d9..0c14855 100755 (executable)
@@ -40,6 +40,14 @@ if [ "$?" != 0 ] ; then
 else
         echo "OK"
 fi
+echo -n "Building HAL..."
+cd $BASEDIR/software/libhal && make >> $LOGFILE 2>&1
+if [ "$?" != 0 ] ; then
+        echo "FAILED"
+       exit 1
+else
+        echo "OK"
+fi
 
 cd $BASEDIR
 
index 3d837d8..2611edf 100644 (file)
@@ -8,10 +8,12 @@ all: bios_splash.bin
 
 %.bin: %.elf
        $(OBJCOPY) $(SEGMENTS) -O binary $< $@
+       chmod -x $@
        $(MMDIR)/tools/crc32 $@ write
 
 bios.elf: linker.ld $(OBJECTS)
        $(LD) $(LDFLAGS) -T linker.ld -N -o $@ $(OBJECTS) -L$(MMDIR)/software/libbase -lbase-light
+       chmod -x $@
 
 splash.raw: splash.png
        $(MMDIR)/tools/makeraw splash.png
@@ -32,12 +34,14 @@ clean:
 
 # DO NOT DELETE
 
-boot.o: ../../software/include/libc.h ../../software/include/console.h
-boot.o: ../../software/include/uart.h ../../software/include/system.h
-boot.o: ../../software/include/cffat.h ../../software/include/crc.h
-boot.o: ../../tools/sfl.h ../../software/include/hw/hpdmc.h
-boot.o: ../../software/include/hw/common.h boot.h
-main.o: ../../software/include/libc.h ../../software/include/console.h
+boot.o: ../../software/include/stdio.h ../../software/include/stdlib.h
+boot.o: ../../software/include/console.h ../../software/include/uart.h
+boot.o: ../../software/include/system.h ../../software/include/cffat.h
+boot.o: ../../software/include/crc.h ../../tools/sfl.h
+boot.o: ../../software/include/hw/hpdmc.h ../../software/include/hw/common.h
+boot.o: boot.h
+main.o: ../../software/include/stdio.h ../../software/include/stdlib.h
+main.o: ../../software/include/console.h ../../software/include/string.h
 main.o: ../../software/include/uart.h ../../software/include/cffat.h
 main.o: ../../software/include/crc.h ../../software/include/system.h
 main.o: ../../software/include/board.h ../../software/include/version.h
@@ -45,6 +49,6 @@ main.o: ../../software/include/hw/hpdmc.h ../../software/include/hw/common.h
 main.o: ../../software/include/hw/vga.h ../../software/include/hw/fmlbrg.h
 main.o: ../../software/include/hw/sysctl.h ../../software/include/hw/gpio.h
 main.o: ../../software/include/hw/uart.h boot.h splash.h
-splash.o: ../../software/include/libc.h ../../software/include/console.h
+splash.o: ../../software/include/stdio.h ../../software/include/stdlib.h
 splash.o: ../../software/include/system.h ../../software/include/hw/vga.h
 splash.o: ../../software/include/hw/common.h splash.h
index ec4507b..78f13d7 100644 (file)
@@ -1,21 +1,21 @@
 /*
  * Milkymist VJ SoC (Software)
  * Copyright (C) 2007, 2008, 2009 Sebastien Bourdeauducq
- * 
+ *
  * 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, version 3 of the License.
- * 
+ *
  * 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, see <http://www.gnu.org/licenses/>.
  */
 
-#include <libc.h>
+#include <stdio.h>
 #include <console.h>
 #include <uart.h>
 #include <system.h>
index 0ef20bc..717b300 100644 (file)
@@ -1,22 +1,23 @@
 /*
  * Milkymist VJ SoC (Software)
  * Copyright (C) 2007, 2008, 2009 Sebastien Bourdeauducq
- * 
+ *
  * 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, version 3 of the License.
- * 
+ *
  * 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, see <http://www.gnu.org/licenses/>.
  */
 
-#include <libc.h>
+#include <stdio.h>
 #include <console.h>
+#include <string.h>
 #include <uart.h>
 #include <cffat.h>
 #include <crc.h>
index d993ae9..03dbc74 100644 (file)
@@ -1,22 +1,21 @@
 /*
  * Milkymist VJ SoC (Software)
  * Copyright (C) 2007, 2008, 2009 Sebastien Bourdeauducq
- * 
+ *
  * 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, version 3 of the License.
- * 
+ *
  * 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, see <http://www.gnu.org/licenses/>.
  */
 
-#include <libc.h>
-#include <console.h>
+#include <stdio.h>
 #include <system.h>
 #include <hw/vga.h>
 
index 19b352b..2978917 100644 (file)
@@ -27,10 +27,12 @@ spam.h: spam.raw
 
 %.bin: %.elf
        $(OBJCOPY) $(SEGMENTS) -O binary $< $@
+       chmod -x $@
        $(MMDIR)/tools/crc32 $@
 
 boot.elf: linker.ld $(OBJECTS)
        $(LD) $(LDFLAGS) -T linker.ld -N -o $@ -L$(MMDIR)/software/libbase -L$(MMDIR)/software/libmath -L$(MMDIR)/software/libbase -L$(MMDIR)/software/libhal --start-group $(OBJECTS) -lbase -lmath -lhal --end-group
+       chmod -x $@
 
 .PHONY: clean depend
 
@@ -42,24 +44,24 @@ clean:
 
 # DO NOT DELETE
 
-analyzer.o: ../../software/include/libc.h ../../software/include/console.h
+analyzer.o: ../../software/include/stdio.h ../../software/include/stdlib.h
 analyzer.o: analyzer.h bandfilters.h
-apipe.o: ../../software/include/libc.h ../../software/include/console.h
+apipe.o: ../../software/include/stdio.h ../../software/include/stdlib.h
 apipe.o: ../../software/include/board.h ../../software/include/hal/brd.h
 apipe.o: ../../software/include/hal/snd.h ../../software/include/hw/ac97.h
 apipe.o: ../../software/include/hw/common.h ../../software/include/hal/pfpu.h
 apipe.o: ../../software/include/hw/pfpu.h ../../software/include/hal/time.h
 apipe.o: analyzer.h eval.h ../../software/include/hw/tmu.h ast.h cpustats.h
 apipe.o: rpipe.h ../../software/include/hal/tmu.h apipe.h
-compiler.o: ../../software/include/hw/pfpu.h
-compiler.o: ../../software/include/hw/common.h ../../software/include/libc.h
-compiler.o: ../../software/include/console.h compiler.h ast.h
-cpustats.o: ../../software/include/libc.h ../../software/include/irq.h
-cpustats.o: ../../software/include/hal/time.h cpustats.h
-eval.o: ../../software/include/libc.h ../../software/include/console.h
-eval.o: ../../software/include/hw/pfpu.h ../../software/include/hw/common.h
-eval.o: ../../software/include/hal/pfpu.h ast.h compiler.h scheduler.h eval.h
-eval.o: ../../software/include/hw/tmu.h
+compiler.o: ../../software/include/stdio.h ../../software/include/stdlib.h
+compiler.o: ../../software/include/string.h ../../software/include/hw/pfpu.h
+compiler.o: ../../software/include/hw/common.h compiler.h ast.h
+cpustats.o: ../../software/include/irq.h ../../software/include/hal/time.h
+cpustats.o: cpustats.h
+eval.o: ../../software/include/stdio.h ../../software/include/stdlib.h
+eval.o: ../../software/include/string.h ../../software/include/hw/pfpu.h
+eval.o: ../../software/include/hw/common.h ../../software/include/hal/pfpu.h
+eval.o: ast.h compiler.h scheduler.h eval.h ../../software/include/hw/tmu.h
 isr.o: ../../software/include/hw/interrupts.h ../../software/include/irq.h
 isr.o: ../../software/include/uart.h ../../software/include/hal/time.h
 isr.o: ../../software/include/hal/slowout.h ../../software/include/hal/snd.h
@@ -67,13 +69,14 @@ isr.o: ../../software/include/hw/ac97.h ../../software/include/hw/common.h
 isr.o: ../../software/include/hal/tmu.h ../../software/include/hw/tmu.h
 isr.o: ../../software/include/hal/pfpu.h ../../software/include/hw/pfpu.h
 isr.o: ui.h cpustats.h
-line.o: ../../software/include/libc.h ../../software/include/math.h
-line.o: ../../software/include/console.h color.h line.h
-main.o: ../../software/include/libc.h ../../software/include/console.h
-main.o: ../../software/include/uart.h ../../software/include/system.h
-main.o: ../../software/include/irq.h ../../software/include/board.h
-main.o: ../../software/include/version.h ../../software/include/hw/sysctl.h
-main.o: ../../software/include/hw/common.h ../../software/include/hw/gpio.h
+line.o: ../../software/include/stdlib.h ../../software/include/math.h color.h
+line.o: line.h
+main.o: ../../software/include/stdio.h ../../software/include/stdlib.h
+main.o: ../../software/include/console.h ../../software/include/uart.h
+main.o: ../../software/include/system.h ../../software/include/irq.h
+main.o: ../../software/include/board.h ../../software/include/version.h
+main.o: ../../software/include/hw/sysctl.h ../../software/include/hw/common.h
+main.o: ../../software/include/hw/gpio.h
 main.o: ../../software/include/hw/interrupts.h
 main.o: ../../software/include/hal/brd.h ../../software/include/hal/mem.h
 main.o: ../../software/include/hal/time.h ../../software/include/hal/vga.h
@@ -83,32 +86,34 @@ main.o: ../../software/include/hal/pfpu.h ../../software/include/hw/pfpu.h
 main.o: ../../software/include/hal/slowout.h
 main.o: ../../software/include/hal/hdlcd.h apipe.h rpipe.h renderer.h ui.h
 main.o: cpustats.h shell.h
-parser.o: ../../software/include/stdio.h ../../software/include/libc.h
-parser.o: ../../software/include/console.h ../../software/include/malloc.h
-parser.o: ../../software/include/math.h ast.h
-parser_helper.o: ../../software/include/libc.h
-parser_helper.o: ../../software/include/malloc.h
-parser_helper.o: ../../software/include/console.h scanner.h parser.h ast.h
+parser.o: ../../software/include/stdio.h ../../software/include/stdlib.h
+parser.o: ../../software/include/assert.h ../../software/include/string.h
+parser.o: ../../software/include/malloc.h ../../software/include/math.h ast.h
+parser_helper.o: ../../software/include/stdio.h
+parser_helper.o: ../../software/include/stdlib.h
+parser_helper.o: ../../software/include/malloc.h scanner.h parser.h ast.h
 parser_helper.o: parser_helper.h
-renderer.o: ../../software/include/libc.h ../../software/include/console.h
+renderer.o: ../../software/include/stdio.h ../../software/include/stdlib.h
 renderer.o: ../../software/include/math.h ../../software/include/system.h
 renderer.o: ../../software/include/hal/pfpu.h
 renderer.o: ../../software/include/hw/pfpu.h
 renderer.o: ../../software/include/hw/common.h
 renderer.o: ../../software/include/hal/vga.h parser_helper.h ast.h eval.h
 renderer.o: ../../software/include/hw/tmu.h apipe.h renderer.h
-rpipe.o: ../../software/include/libc.h ../../software/include/console.h
+rpipe.o: ../../software/include/stdio.h ../../software/include/stdlib.h
 rpipe.o: ../../software/include/irq.h ../../software/include/system.h
 rpipe.o: ../../software/include/math.h ../../software/include/hw/interrupts.h
 rpipe.o: ../../software/include/hal/vga.h ../../software/include/hal/tmu.h
 rpipe.o: ../../software/include/hw/tmu.h ../../software/include/hw/common.h
 rpipe.o: renderer.h wave.h cpustats.h rpipe.h spam.h
-scanner.o: ../../software/include/libc.h ../../software/include/malloc.h
+scanner.o: ../../software/include/stdio.h ../../software/include/stdlib.h
+scanner.o: ../../software/include/string.h ../../software/include/malloc.h
 scanner.o: scanner.h parser.h
-scheduler.o: ../../software/include/libc.h ../../software/include/console.h
+scheduler.o: ../../software/include/stdio.h ../../software/include/stdlib.h
 scheduler.o: ../../software/include/hw/pfpu.h
 scheduler.o: ../../software/include/hw/common.h scheduler.h compiler.h ast.h
-shell.o: ../../software/include/libc.h ../../software/include/console.h
+shell.o: ../../software/include/stdio.h ../../software/include/stdlib.h
+shell.o: ../../software/include/string.h ../../software/include/console.h
 shell.o: ../../software/include/uart.h ../../software/include/cffat.h
 shell.o: ../../software/include/system.h ../../software/include/math.h
 shell.o: ../../software/include/irq.h ../../software/include/board.h
@@ -123,13 +128,13 @@ shell.o: line.h wave.h rpipe.h cpustats.h shell.h ui.h
 tick.o: ../../software/include/hal/time.h rpipe.h
 tick.o: ../../software/include/hal/tmu.h ../../software/include/hw/tmu.h
 tick.o: ../../software/include/hw/common.h cpustats.h ui.h
-ui.o: ../../software/include/libc.h ../../software/include/console.h
-ui.o: ../../software/include/cffat.h ../../software/include/irq.h
-ui.o: ../../software/include/version.h ../../software/include/hw/interrupts.h
+ui.o: ../../software/include/stdio.h ../../software/include/stdlib.h
+ui.o: ../../software/include/string.h ../../software/include/cffat.h
+ui.o: ../../software/include/irq.h ../../software/include/version.h
+ui.o: ../../software/include/hw/interrupts.h
 ui.o: ../../software/include/hw/sysctl.h ../../software/include/hw/common.h
 ui.o: ../../software/include/hw/gpio.h ../../software/include/hal/hdlcd.h
 ui.o: ../../software/include/hal/time.h renderer.h rpipe.h
 ui.o: ../../software/include/hal/tmu.h ../../software/include/hw/tmu.h
 ui.o: cpustats.h ui.h
-wave.o: ../../software/include/libc.h ../../software/include/math.h
-wave.o: ../../software/include/console.h line.h color.h wave.h renderer.h
+wave.o: ../../software/include/math.h line.h color.h wave.h renderer.h
index 30c2e3d..377677d 100644 (file)
@@ -15,8 +15,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include <libc.h>
-#include <console.h>
+#include <stdio.h>
 
 #include "analyzer.h"
 
index f05fbc9..bad9585 100644 (file)
@@ -15,8 +15,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include <libc.h>
-#include <console.h>
+#include <stdio.h>
 #include <board.h>
 
 #include <hal/brd.h>
index 8ea04c7..70b67ce 100644 (file)
@@ -1,23 +1,23 @@
 /*
  * Milkymist VJ SoC (Software)
  * Copyright (C) 2007, 2008, 2009 Sebastien Bourdeauducq
- * 
+ *
  * 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, version 3 of the License.
- * 
+ *
  * 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, see <http://www.gnu.org/licenses/>.
  */
 
+#include <stdio.h>
+#include <string.h>
 #include <hw/pfpu.h>
-#include <libc.h>
-#include <console.h>
 
 #include "compiler.h"
 
index 8bd96db..8bc70a5 100644 (file)
@@ -1,21 +1,20 @@
 /*
  * Milkymist VJ SoC (Software)
  * Copyright (C) 2007, 2008, 2009 Sebastien Bourdeauducq
- * 
+ *
  * 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, version 3 of the License.
- * 
+ *
  * 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, see <http://www.gnu.org/licenses/>.
  */
 
-#include <libc.h>
 #include <irq.h>
 
 #include <hal/time.h>
index 115239d..bbb1f0b 100644 (file)
@@ -15,8 +15,8 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include <libc.h>
-#include <console.h>
+#include <stdio.h>
+#include <string.h>
 #include <hw/pfpu.h>
 
 #include <hal/pfpu.h>
index 818fa01..5171182 100644 (file)
@@ -1,16 +1,16 @@
 /*
  * Milkymist VJ SoC (Software)
  * Copyright (C) 2007, 2008, 2009 Sebastien Bourdeauducq
- * 
+ *
  * 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, version 3 of the License.
- * 
+ *
  * 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, see <http://www.gnu.org/licenses/>.
  */
index a00649e..e830476 100644 (file)
@@ -3,9 +3,8 @@
  * adapted to Milkymist by Sebastien Bourdeauducq
  */
 
-#include <libc.h>
+#include <stdlib.h>
 #include <math.h>
-#include <console.h>
 
 #include "color.h"
 #include "line.h"
index 72802cb..6a6e06b 100644 (file)
@@ -1,21 +1,21 @@
 /*
  * Milkymist VJ SoC (Software)
  * Copyright (C) 2007, 2008, 2009 Sebastien Bourdeauducq
- * 
+ *
  * 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, version 3 of the License.
- * 
+ *
  * 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, see <http://www.gnu.org/licenses/>.
  */
 
-#include <libc.h>
+#include <stdio.h>
 #include <console.h>
 #include <uart.h>
 #include <system.h>
index b618e81..c174204 100644 (file)
@@ -1,22 +1,23 @@
 /*
  * Milkymist VJ SoC (Software)
  * Copyright (C) 2007, 2008, 2009 Sebastien Bourdeauducq
- * 
+ *
  * 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, version 3 of the License.
- * 
+ *
  * 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, see <http://www.gnu.org/licenses/>.
  */
 
 %include {
-       #include <libc.h>
+       #include <assert.h>
+       #include <string.h>
        #include <malloc.h>
        #include <math.h>
        #include "ast.h"
index f942da8..855977b 100644 (file)
@@ -1,23 +1,22 @@
 /*
  * Milkymist VJ SoC (Software)
  * Copyright (C) 2007, 2008, 2009 Sebastien Bourdeauducq
- * 
+ *
  * 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, version 3 of the License.
- * 
+ *
  * 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, see <http://www.gnu.org/licenses/>.
  */
 
-#include <libc.h>
+#include <stdio.h>
 #include <malloc.h>
-#include <console.h>
 
 #include "scanner.h"
 #include "ast.h"
index 4b4e04b..cea6845 100644 (file)
@@ -1,22 +1,21 @@
 /*
  * Milkymist VJ SoC (Software)
  * Copyright (C) 2007, 2008, 2009 Sebastien Bourdeauducq
- * 
+ *
  * 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, version 3 of the License.
- * 
+ *
  * 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, see <http://www.gnu.org/licenses/>.
  */
 
-#include <libc.h>
-#include <console.h>
+#include <stdio.h>
 #include <math.h>
 #include <system.h>
 
index 2b5dc75..204e850 100644 (file)
@@ -1,22 +1,21 @@
 /*
  * Milkymist VJ SoC (Software)
  * Copyright (C) 2007, 2008, 2009 Sebastien Bourdeauducq
- * 
+ *
  * 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, version 3 of the License.
- * 
+ *
  * 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, see <http://www.gnu.org/licenses/>.
  */
 
-#include <libc.h>
-#include <console.h>
+#include <stdio.h>
 #include <irq.h>
 #include <system.h>
 #include <math.h>
index e5185a7..e1ec5ac 100644 (file)
@@ -1,21 +1,22 @@
 /*
  * Milkymist VJ SoC (Software)
  * Copyright (C) 2007, 2008, 2009 Sebastien Bourdeauducq
- * 
+ *
  * 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, version 3 of the License.
- * 
+ *
  * 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, see <http://www.gnu.org/licenses/>.
  */
 
-#include <libc.h>
+#include <stdio.h>
+#include <string.h>
 #include <malloc.h>
 
 #include "scanner.h"
index 9eeffc6..75439cc 100644 (file)
@@ -1,22 +1,21 @@
 /*
  * Milkymist VJ SoC (Software)
  * Copyright (C) 2007, 2008, 2009 Sebastien Bourdeauducq
- * 
+ *
  * 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, version 3 of the License.
- * 
+ *
  * 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, see <http://www.gnu.org/licenses/>.
  */
 
-#include <libc.h>
-#include <console.h>
+#include <stdio.h>
 #include <hw/pfpu.h>
 
 #include "scheduler.h"
index 00cf5e4..907f77b 100644 (file)
@@ -1,21 +1,22 @@
 /*
  * Milkymist VJ SoC (Software)
  * Copyright (C) 2007, 2008, 2009 Sebastien Bourdeauducq
- * 
+ *
  * 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, version 3 of the License.
- * 
+ *
  * 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, see <http://www.gnu.org/licenses/>.
  */
 
-#include <libc.h>
+#include <stdio.h>
+#include <string.h>
 #include <console.h>
 #include <uart.h>
 #include <cffat.h>
index cf95097..8b6ff7e 100644 (file)
@@ -1,16 +1,16 @@
 /*
  * Milkymist VJ SoC (Software)
  * Copyright (C) 2007, 2008, 2009 Sebastien Bourdeauducq
- * 
+ *
  * 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, version 3 of the License.
- * 
+ *
  * 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, see <http://www.gnu.org/licenses/>.
  */
index 543feec..c457b3f 100644 (file)
@@ -1,22 +1,22 @@
 /*
  * Milkymist VJ SoC (Software)
  * Copyright (C) 2007, 2008, 2009 Sebastien Bourdeauducq
- * 
+ *
  * 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, version 3 of the License.
- * 
+ *
  * 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, see <http://www.gnu.org/licenses/>.
  */
 
-#include <libc.h>
-#include <console.h>
+#include <stdio.h>
+#include <string.h>
 #include <cffat.h>
 #include <irq.h>
 #include <version.h>
index 8b0ed33..4b11b45 100644 (file)
@@ -1,25 +1,23 @@
 /*
  * Milkymist VJ SoC (Software)
  * Copyright (C) 2007, 2008, 2009 Sebastien Bourdeauducq
- * 
+ *
  * 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, version 3 of the License.
- * 
+ *
  * 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, see <http://www.gnu.org/licenses/>.
  */
 
 /* Original code from projectM 1.2.0 */
 
-#include <libc.h>
 #include <math.h>
-#include <console.h>
 
 #include "line.h"
 #include "color.h"
diff --git a/software/include/assert.h b/software/include/assert.h
new file mode 100644 (file)
index 0000000..bbbfec9
--- /dev/null
@@ -0,0 +1,24 @@
+/*
+ * Milkymist VJ SoC (Software)
+ * Copyright (C) 2007, 2008, 2009 Sebastien Bourdeauducq
+ * Copyright (C) Linux kernel developers
+ *
+ * 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, version 3 of the License.
+ *
+ * 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, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __ASSERT_H
+#define __ASSERT_H
+
+#define assert(x)
+
+#endif /* __ASSERT_H */
index 1540b4b..5c0053d 100644 (file)
@@ -1,16 +1,16 @@
 /*
  * Milkymist VJ SoC (Software)
  * Copyright (C) 2007, 2008, 2009 Sebastien Bourdeauducq
- * 
+ *
  * 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, version 3 of the License.
- * 
+ *
  * 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, see <http://www.gnu.org/licenses/>.
  */
@@ -23,6 +23,5 @@ int puts(const char *s);
 void putsnonl(const char *s);
 char readchar();
 void readstr(char *s, int size);
-int printf(const char *fmt, ...);
 
 #endif /* __CONSOLE_H */
diff --git a/software/include/ctype.h b/software/include/ctype.h
new file mode 100644 (file)
index 0000000..f37bc7d
--- /dev/null
@@ -0,0 +1,68 @@
+/*
+ * Milkymist VJ SoC (Software)
+ * Copyright (C) 2007, 2008, 2009 Sebastien Bourdeauducq
+ *
+ * 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, version 3 of the License.
+ *
+ * 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, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __CTYPE_H
+#define __CTYPE_H
+
+static inline int isdigit(char c)
+{
+       return (c >= '0') && (c <= '9');
+}
+
+static inline int isxdigit(char c)
+{
+       return isdigit(c) || ((c >= 'a') && (c <= 'f')) || ((c >= 'A') && (c <= 'F'));
+}
+
+static inline int isupper(char c)
+{
+       return (c >= 'A') && (c <= 'Z');
+}
+
+static inline int islower(char c)
+{
+       return (c >= 'a') && (c <= 'z');
+}
+
+static inline unsigned char tolower(unsigned char c)
+{
+       if (isupper(c))
+               c -= 'A'-'a';
+       return c;
+}
+
+static inline unsigned char toupper(unsigned char c)
+{
+       if (islower(c))
+               c -= 'a'-'A';
+       return c;
+}
+
+static inline char isspace(unsigned char c)
+{
+       if(c == ' '
+               || c == '\f'
+               || c == '\n'
+               || c == '\r'
+               || c == '\t'
+               || c == '\v')
+               return 1;
+
+       return 0;
+}
+
+#endif /* __CTYPE_H */
diff --git a/software/include/libc.h b/software/include/libc.h
deleted file mode 100644 (file)
index 8073865..0000000
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * Milkymist VJ SoC (Software)
- * Copyright (C) 2007, 2008, 2009 Sebastien Bourdeauducq
- * Copyright (C) Linux kernel developers
- * 
- * 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, version 3 of the License.
- * 
- * 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, see <http://www.gnu.org/licenses/>.
- */
-
-
-#ifndef __LIBC_H
-#define __LIBC_H
-
-#if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4))
-#define va_start(v,l) __builtin_va_start((v),l)
-#else
-#define va_start(v,l) __builtin_stdarg_start((v),l)
-#endif
-
-#define va_arg(ap, type) \
-       __builtin_va_arg((ap), type)
-
-#define va_end(ap) \
-       __builtin_va_end(ap)
-
-#define va_list \
-       __builtin_va_list
-
-
-#define NULL ((void *)0)
-
-#define INT_MIN ((((unsigned long)-1) >> 1) + 1)
-#define INT_MAX (((unsigned long)-1) >> 1)
-
-#define likely(x) (x)
-#define unlikely(x) (x)
-
-#define PRINTF_ZEROPAD 1               /* pad with zero */
-#define PRINTF_SIGN    2               /* unsigned/signed long */
-#define PRINTF_PLUS    4               /* show plus */
-#define PRINTF_SPACE   8               /* space if plus */
-#define PRINTF_LEFT    16              /* left justified */
-#define PRINTF_SPECIAL 32              /* 0x */
-#define PRINTF_LARGE   64              /* use 'ABCDEF' instead of 'abcdef' */
-
-typedef int size_t;
-typedef int ptrdiff_t;
-
-static inline int isdigit(char c)
-{
-       return (c >= '0') && (c <= '9');
-}
-
-static inline int isxdigit(char c)
-{
-       return isdigit(c) || ((c >= 'a') && (c <= 'f')) || ((c >= 'A') && (c <= 'F'));
-}
-
-static inline int isupper(char c)
-{
-       return (c >= 'A') && (c <= 'Z');
-}
-
-static inline int islower(char c)
-{
-       return (c >= 'a') && (c <= 'z');
-}
-
-static inline unsigned char tolower(unsigned char c)
-{
-       if (isupper(c))
-               c -= 'A'-'a';
-       return c;
-}
-
-static inline unsigned char toupper(unsigned char c)
-{
-       if (islower(c))
-               c -= 'a'-'A';
-       return c;
-}
-
-static inline char isspace(unsigned char c)
-{
-       if(c == ' '
-               || c == '\f'
-               || c == '\n'
-               || c == '\r'
-               || c == '\t'
-               || c == '\v')
-               return 1;
-       
-       return 0;
-}
-
-
-char *strchr(const char *s, int c);
-char *strrchr(const char *s, int c);
-char *strnchr(const char *s, size_t count, int c);
-char *strcpy(char *dest, const char *src);
-char *strncpy(char *dest, const char *src, size_t count);
-int strcmp(const char *cs, const char *ct);
-int strncmp(const char *cs, const char *ct, size_t count);
-size_t strlen(const char *s);
-size_t strnlen(const char *s, size_t count);
-int memcmp(const void *cs, const void *ct, size_t count);
-void *memset(void *s, int c, size_t count);
-void *memcpy(void *dest, const void *src, size_t n);
-void *memmove(void *dest, const void *src, size_t count);
-
-unsigned long strtoul(const char *nptr, char **endptr, int base);
-int skip_atoi(const char **s);
-static inline int atoi(const char *nptr) {
-       return strtoul(nptr, NULL, 0);
-}
-static inline long atol(const char *nptr) {
-       return (long)atoi(nptr);
-}
-char *number(char *buf, char *end, unsigned long num, int base, int size, int precision, int type);
-long strtol(const char *nptr, char **endptr, int base);
-
-#define abs(x) ((x) > 0 ? (x) : -(x))
-
-int vsnprintf(char *buf, size_t size, const char *fmt, va_list args);
-int vscnprintf(char *buf, size_t size, const char *fmt, va_list args);
-int snprintf(char *buf, size_t size, const char *fmt, ...);
-int scnprintf(char *buf, size_t size, const char *fmt, ...);
-int vsprintf(char *buf, const char *fmt, va_list args);
-int sprintf(char *buf, const char *fmt, ...);
-
-unsigned int rand();
-
-#define assert(x)
-
-float atof(const char *s);
-
-#endif
diff --git a/software/include/limits.h b/software/include/limits.h
new file mode 100644 (file)
index 0000000..af8efec
--- /dev/null
@@ -0,0 +1,25 @@
+/*
+ * Milkymist VJ SoC (Software)
+ * Copyright (C) 2007, 2008, 2009 Sebastien Bourdeauducq
+ * Copyright (C) Linux kernel developers
+ *
+ * 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, version 3 of the License.
+ *
+ * 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, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __LIMITS_H
+#define __LIMITS_H
+
+#define INT_MIN ((((unsigned long)-1) >> 1) + 1)
+#define INT_MAX (((unsigned long)-1) >> 1)
+
+#endif /* __LIMITS_H */
index ffdacbd..2c90fbf 100644 (file)
@@ -1,16 +1,16 @@
 /*
  * Milkymist VJ SoC (Software)
  * Copyright (C) 2007, 2008, 2009 Sebastien Bourdeauducq
- * 
+ *
  * 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, version 3 of the License.
- * 
+ *
  * 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, see <http://www.gnu.org/licenses/>.
  */
@@ -18,8 +18,6 @@
 #ifndef __MALLOC_H
 #define __MALLOC_H
 
-#include <libc.h>
-
 /* NB. Start and end addresses must be multiples of 8. */
 struct malloc_bank {
        unsigned int addr_start;
@@ -33,14 +31,10 @@ void *mallocex(unsigned int size, unsigned int bank, unsigned int alignment);
 
 #ifdef PC_TEST
 void test_free(void *p);
-#else
-void free(void *p);
 #endif
 
 #ifdef PC_TEST
 void *test_malloc(size_t size);
-#else
-void *malloc(size_t size);
 #endif
 
 #ifdef PC_TEST
index bad8212..9e146fe 100644 (file)
@@ -1,2 +1,41 @@
-/* dummy stdarg.h to make generic code compile */
-#include <libc.h>
+/*
+ * Milkymist VJ SoC (Software)
+ * Copyright (C) 2007, 2008, 2009 Sebastien Bourdeauducq
+ * Copyright (C) Linux kernel developers
+ *
+ * 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, version 3 of the License.
+ *
+ * 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, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __STDARG_H
+#define __STDARG_H
+
+#if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4))
+#define va_start(v,l) __builtin_va_start((v),l)
+#else
+#define va_start(v,l) __builtin_stdarg_start((v),l)
+#endif
+
+#define va_arg(ap, type) \
+       __builtin_va_arg((ap), type)
+
+#define va_end(ap) \
+       __builtin_va_end(ap)
+
+#define va_list \
+       __builtin_va_list
+
+int vsnprintf(char *buf, size_t size, const char *fmt, va_list args);
+int vscnprintf(char *buf, size_t size, const char *fmt, va_list args);
+int vsprintf(char *buf, const char *fmt, va_list args);
+
+#endif /* __STDARG_H */
index f83f7d2..303a322 100644 (file)
@@ -1,3 +1,29 @@
-/* dummy stdio.h to make generic code compile */
-#include <libc.h>
-#include <console.h>
+/*
+ * Milkymist VJ SoC (Software)
+ * Copyright (C) 2007, 2008, 2009 Sebastien Bourdeauducq
+ *
+ * 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, version 3 of the License.
+ *
+ * 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, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __STDIO_H
+#define __STDIO_H
+
+#include <stdlib.h>
+
+int snprintf(char *buf, size_t size, const char *fmt, ...);
+int scnprintf(char *buf, size_t size, const char *fmt, ...);
+int sprintf(char *buf, const char *fmt, ...);
+
+int printf(const char *fmt, ...);
+
+#endif /* __STDIO_H */
index dae8579..03917c6 100644 (file)
@@ -1,2 +1,57 @@
-/* dummy stdlib.h to make generic code compile */
-#include <libc.h>
+/*
+ * Milkymist VJ SoC (Software)
+ * Copyright (C) 2007, 2008, 2009 Sebastien Bourdeauducq
+ * Copyright (C) Linux kernel developers
+ *
+ * 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, version 3 of the License.
+ *
+ * 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, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __STDLIB_H
+#define __STDLIB_H
+
+#define PRINTF_ZEROPAD 1               /* pad with zero */
+#define PRINTF_SIGN    2               /* unsigned/signed long */
+#define PRINTF_PLUS    4               /* show plus */
+#define PRINTF_SPACE   8               /* space if plus */
+#define PRINTF_LEFT    16              /* left justified */
+#define PRINTF_SPECIAL 32              /* 0x */
+#define PRINTF_LARGE   64              /* use 'ABCDEF' instead of 'abcdef' */
+
+typedef int size_t;
+typedef int ptrdiff_t;
+
+#define NULL ((void *)0)
+
+#define likely(x) x
+#define unlikely(x) x
+
+#define abs(x) ((x) > 0 ? (x) : -(x))
+
+unsigned long strtoul(const char *nptr, char **endptr, int base);
+int skip_atoi(const char **s);
+static inline int atoi(const char *nptr) {
+       return strtoul(nptr, NULL, 0);
+}
+static inline long atol(const char *nptr) {
+       return (long)atoi(nptr);
+}
+char *number(char *buf, char *end, unsigned long num, int base, int size, int precision, int type);
+long strtol(const char *nptr, char **endptr, int base);
+float atof(const char *s);
+
+unsigned int rand();
+
+void *malloc(size_t size);
+void free(void *p);
+
+#endif /* __STDLIB_H */
index 9245bbb..feda824 100644 (file)
@@ -1,2 +1,36 @@
-/* dummy string.h to make generic code compile */
-#include <libc.h>
+/*
+ * Milkymist VJ SoC (Software)
+ * Copyright (C) 2007, 2008, 2009 Sebastien Bourdeauducq
+ * Copyright (C) Linux kernel developers
+ *
+ * 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, version 3 of the License.
+ *
+ * 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, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __STRING_H
+#define __STRING_H
+
+char *strchr(const char *s, int c);
+char *strrchr(const char *s, int c);
+char *strnchr(const char *s, size_t count, int c);
+char *strcpy(char *dest, const char *src);
+char *strncpy(char *dest, const char *src, size_t count);
+int strcmp(const char *cs, const char *ct);
+int strncmp(const char *cs, const char *ct, size_t count);
+size_t strlen(const char *s);
+size_t strnlen(const char *s, size_t count);
+int memcmp(const void *cs, const void *ct, size_t count);
+void *memset(void *s, int c, size_t count);
+void *memcpy(void *dest, const void *src, size_t n);
+void *memmove(void *dest, const void *src, size_t count);
+
+#endif /* __STRING_H */
index b7b882d..7826bc7 100644 (file)
@@ -25,24 +25,26 @@ clean:
 
 # DO NOT DELETE
 
-atof.o: ../../software/include/libc.h
+atof.o: ../../software/include/stdlib.h
 board.o: ../../software/include/hw/sysctl.h
-board.o: ../../software/include/hw/common.h ../../software/include/libc.h
+board.o: ../../software/include/hw/common.h ../../software/include/stdlib.h
 board.o: ../../software/include/board.h
 cfcard.o: ../../software/include/hw/systemace.h
-cfcard.o: ../../software/include/hw/common.h ../../software/include/libc.h
-cfcard.o: ../../software/include/cfcard.h ../../software/include/console.h
-cffat.o: ../../software/include/libc.h ../../software/include/endian.h
-cffat.o: ../../software/include/cfcard.h ../../software/include/console.h
-cffat.o: ../../software/include/cffat.h
-console.o: ../../software/include/libc.h ../../software/include/uart.h
-console.o: ../../software/include/console.h
+cfcard.o: ../../software/include/hw/common.h ../../software/include/cfcard.h
+cfcard.o: ../../software/include/console.h
+cffat.o: ../../software/include/stdlib.h ../../software/include/stdio.h
+cffat.o: ../../software/include/endian.h ../../software/include/cfcard.h
+cffat.o: ../../software/include/console.h ../../software/include/cffat.h
+console.o: ../../software/include/uart.h ../../software/include/console.h
+console.o: ../../software/include/stdio.h ../../software/include/stdarg.h
 crc16.o: ../../software/include/crc.h
 crc32.o: ../../software/include/crc.h
-libc.o: ../../software/include/libc.h
-malloc.o: ../../software/include/libc.h ../../software/include/console.h
-malloc.o: ../../software/include/malloc.h
-softfloat-glue.o: ../../software/include/libc.h softfloat.h
+libc.o: ../../software/include/ctype.h ../../software/include/stdio.h
+libc.o: ../../software/include/stdlib.h ../../software/include/string.h
+libc.o: ../../software/include/limits.h
+malloc.o: ../../software/include/stdio.h ../../software/include/stdlib.h
+malloc.o: ../../software/include/console.h ../../software/include/malloc.h
+softfloat-glue.o: softfloat.h
 softfloat.o: milieu.h softfloat.h softfloat-macros.h softfloat-specialize.h
 system.o: ../../software/include/hw/fmlbrg.h ../../software/include/system.h
 uart-async.o: ../../software/include/uart.h ../../software/include/irq.h
@@ -51,5 +53,8 @@ uart-async.o: ../../software/include/hw/common.h
 uart-async.o: ../../software/include/hw/interrupts.h
 uart.o: ../../software/include/hw/uart.h ../../software/include/hw/common.h
 uart.o: ../../software/include/uart.h
-vsnprintf-nofloat.o: ../../software/include/libc.h
-vsnprintf.o: ../../software/include/libc.h
+vsnprintf-nofloat.o: ../../software/include/stdlib.h
+vsnprintf-nofloat.o: ../../software/include/stdio.h
+vsnprintf-nofloat.o: ../../software/include/stdarg.h
+vsnprintf.o: ../../software/include/stdlib.h ../../software/include/stdio.h
+vsnprintf.o: ../../software/include/stdarg.h
index 107e267..19075c9 100644 (file)
@@ -16,7 +16,8 @@
     License along with this library; if not, write to the Free Software
     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA */
 
-#include <libc.h>
+#include <stdlib.h>
+#include <ctype.h>
 
 float atof(const char * s)
 {
index 02ab573..566d313 100644 (file)
@@ -16,7 +16,7 @@
  */
 
 #include <hw/sysctl.h>
-#include <libc.h>
+#include <stdlib.h>
 #include <board.h>
 
 static const struct board_desc boards[3] = {
index ba48dfb..73f647a 100644 (file)
@@ -16,7 +16,6 @@
  */
 
 #include <hw/systemace.h>
-#include <libc.h>
 #include <cfcard.h>
 #include <console.h>
 
index a2c5bce..5e67ce2 100644 (file)
@@ -1,21 +1,24 @@
 /*
  * Milkymist VJ SoC (Software)
  * Copyright (C) 2007, 2008, 2009 Sebastien Bourdeauducq
- * 
+ *
  * 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, version 3 of the License.
- * 
+ *
  * 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, see <http://www.gnu.org/licenses/>.
  */
 
-#include <libc.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <ctype.h>
 #include <endian.h>
 #include <cfcard.h>
 #include <console.h>
index 400f26a..a615535 100644 (file)
@@ -1,23 +1,24 @@
 /*
  * Milkymist VJ SoC (Software)
  * Copyright (C) 2007, 2008, 2009 Sebastien Bourdeauducq
- * 
+ *
  * 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, version 3 of the License.
- * 
+ *
  * 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, see <http://www.gnu.org/licenses/>.
  */
 
-#include <libc.h>
 #include <uart.h>
 #include <console.h>
+#include <stdio.h>
+#include <stdarg.h>
 
 int puts(const char *s)
 {
index 0ee1462..30c3155 100644 (file)
@@ -2,21 +2,26 @@
  * Milkymist VJ SoC (Software)
  * Copyright (C) 2007, 2008, 2009 Sebastien Bourdeauducq
  * Copyright (C) Linux kernel developers
- * 
+ *
  * 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, version 3 of the License.
- * 
+ *
  * 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, see <http://www.gnu.org/licenses/>.
  */
 
-#include <libc.h>
+#include <ctype.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <limits.h>
 
 /**
  * strchr - Find the first occurrence of a character in a string
index 94572bf..f41b325 100644 (file)
@@ -1,22 +1,24 @@
 /*
  * Milkymist VJ SoC (Software)
  * Copyright (C) 2007, 2008, 2009 Sebastien Bourdeauducq
- * 
+ *
  * 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, version 3 of the License.
- * 
+ *
  * 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, see <http://www.gnu.org/licenses/>.
  */
 
 #ifndef PC_TEST
-#include <libc.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
 #include <console.h>
 #else
 #include <stdio.h>
index 45ceabd..88ca2e7 100644 (file)
@@ -1,21 +1,20 @@
 /*
  * Milkymist VJ SoC (Software)
  * Copyright (C) 2007, 2008, 2009 Sebastien Bourdeauducq
- * 
+ *
  * 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, version 3 of the License.
- * 
+ *
  * 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, see <http://www.gnu.org/licenses/>.
  */
 
-#include <libc.h>
 #include "softfloat.h"
 
 /*
index 494e575..ec077ac 100644 (file)
@@ -2,21 +2,25 @@
  * Milkymist VJ SoC (Software)
  * Copyright (C) 2007, 2008, 2009 Sebastien Bourdeauducq
  * Copyright (C) Linux kernel developers
- * 
+ *
  * 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, version 3 of the License.
- * 
+ *
  * 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, see <http://www.gnu.org/licenses/>.
  */
 
-#include <libc.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <stdarg.h>
+#include <string.h>
+#include <ctype.h>
 
 /**
  * vsnprintf - Format a string and place it in a buffer
index 1cfa0ff..09aa005 100644 (file)
@@ -2,21 +2,25 @@
  * Milkymist VJ SoC (Software)
  * Copyright (C) 2007, 2008, 2009 Sebastien Bourdeauducq
  * Copyright (C) Linux kernel developers
- * 
+ *
  * 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, version 3 of the License.
- * 
+ *
  * 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, see <http://www.gnu.org/licenses/>.
  */
 
-#include <libc.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <stdarg.h>
+#include <string.h>
+#include <ctype.h>
 
 #define fabsf(x) ((x) > 0.0 ? x : -x)
 
index e89f1c8..6d1ea4e 100644 (file)
@@ -19,38 +19,39 @@ clean:
 
 # DO NOT DELETE
 
-brd.o: ../../software/include/libc.h ../../software/include/console.h
+brd.o: ../../software/include/stdlib.h ../../software/include/stdio.h
 brd.o: ../../software/include/board.h ../../software/include/hal/brd.h
-hdlcd.o: ../../software/include/libc.h ../../software/include/board.h
-hdlcd.o: ../../software/include/console.h ../../software/include/hw/sysctl.h
+hdlcd.o: ../../software/include/stdlib.h ../../software/include/stdio.h
+hdlcd.o: ../../software/include/stdarg.h ../../software/include/board.h
+hdlcd.o: ../../software/include/hw/sysctl.h
 hdlcd.o: ../../software/include/hw/common.h ../../software/include/hw/gpio.h
 hdlcd.o: ../../software/include/hal/brd.h
 hdlcd.o: ../../software/include/hal/slowout.h
 hdlcd.o: ../../software/include/hal/hdlcd.h
-mem.o: ../../software/include/libc.h ../../software/include/console.h
+mem.o: ../../software/include/stdio.h ../../software/include/stdlib.h
 mem.o: ../../software/include/malloc.h ../../software/include/hw/sram.h
 mem.o: ../../software/include/hal/mem.h
-pfpu.o: ../../software/include/libc.h ../../software/include/console.h
+pfpu.o: ../../software/include/stdio.h ../../software/include/stdlib.h
 pfpu.o: ../../software/include/irq.h ../../software/include/hw/interrupts.h
 pfpu.o: ../../software/include/hw/pfpu.h ../../software/include/hw/common.h
 pfpu.o: ../../software/include/hal/pfpu.h
-slowout.o: ../../software/include/libc.h ../../software/include/console.h
+slowout.o: ../../software/include/stdio.h ../../software/include/stdlib.h
 slowout.o: ../../software/include/irq.h
 slowout.o: ../../software/include/hw/interrupts.h
 slowout.o: ../../software/include/hw/sysctl.h
 slowout.o: ../../software/include/hw/common.h
 slowout.o: ../../software/include/hal/slowout.h
-snd.o: ../../software/include/libc.h ../../software/include/console.h
+snd.o: ../../software/include/stdio.h ../../software/include/stdlib.h
 snd.o: ../../software/include/irq.h ../../software/include/hw/ac97.h
 snd.o: ../../software/include/hw/common.h
 snd.o: ../../software/include/hw/interrupts.h
 snd.o: ../../software/include/hal/snd.h
-time.o: ../../software/include/libc.h ../../software/include/console.h
+time.o: ../../software/include/stdio.h ../../software/include/stdlib.h
 time.o: ../../software/include/irq.h ../../software/include/board.h
 time.o: ../../software/include/hw/sysctl.h ../../software/include/hw/common.h
 time.o: ../../software/include/hw/interrupts.h
 time.o: ../../software/include/hal/brd.h ../../software/include/hal/time.h
-tmu.o: ../../software/include/libc.h ../../software/include/console.h
+tmu.o: ../../software/include/stdio.h ../../software/include/stdlib.h
 tmu.o: ../../software/include/irq.h ../../software/include/board.h
 tmu.o: ../../software/include/hw/interrupts.h ../../software/include/hw/tmu.h
 tmu.o: ../../software/include/hw/common.h ../../software/include/hal/brd.h
index 66b808e..4d9c3f0 100644 (file)
@@ -1,22 +1,22 @@
 /*
  * Milkymist VJ SoC (Software)
  * Copyright (C) 2007, 2008, 2009 Sebastien Bourdeauducq
- * 
+ *
  * 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, version 3 of the License.
- * 
+ *
  * 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, see <http://www.gnu.org/licenses/>.
  */
 
-#include <libc.h>
-#include <console.h>
+#include <stdlib.h>
+#include <stdio.h>
 #include <board.h>
 
 #include <hal/brd.h>
index f1a43d0..9c933a4 100644 (file)
@@ -1,23 +1,24 @@
 /*
  * Milkymist VJ SoC (Software)
  * Copyright (C) 2007, 2008, 2009 Sebastien Bourdeauducq
- * 
+ *
  * 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, version 3 of the License.
- * 
+ *
  * 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, see <http://www.gnu.org/licenses/>.
  */
 
-#include <libc.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <stdarg.h>
 #include <board.h>
-#include <console.h>
 #include <hw/sysctl.h>
 #include <hw/gpio.h>
 
index 595ad2f..b23034b 100644 (file)
@@ -1,22 +1,21 @@
 /*
  * Milkymist VJ SoC (Software)
  * Copyright (C) 2007, 2008, 2009 Sebastien Bourdeauducq
- * 
+ *
  * 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, version 3 of the License.
- * 
+ *
  * 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, see <http://www.gnu.org/licenses/>.
  */
 
-#include <libc.h>
-#include <console.h>
+#include <stdio.h>
 #include <malloc.h>
 #include <hw/sram.h>
 
index ac6a55c..9c82ce5 100644 (file)
@@ -1,22 +1,21 @@
 /*
  * Milkymist VJ SoC (Software)
  * Copyright (C) 2007, 2008, 2009 Sebastien Bourdeauducq
- * 
+ *
  * 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, version 3 of the License.
- * 
+ *
  * 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, see <http://www.gnu.org/licenses/>.
  */
 
-#include <libc.h>
-#include <console.h>
+#include <stdio.h>
 #include <irq.h>
 #include <hw/interrupts.h>
 #include <hw/pfpu.h>
index 49dd535..1f372f2 100644 (file)
@@ -1,24 +1,23 @@
 /*
  * Milkymist VJ SoC (Software)
  * Copyright (C) 2007, 2008, 2009 Sebastien Bourdeauducq
- * 
+ *
  * 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, version 3 of the License.
- * 
+ *
  * 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, see <http://www.gnu.org/licenses/>.
  */
 
 /* Asynchronous slow outputs - Using HW timer 1 */
 
-#include <libc.h>
-#include <console.h>
+#include <stdio.h>
 #include <irq.h>
 #include <hw/interrupts.h>
 #include <hw/sysctl.h>
index 2b56c08..4fcba56 100644 (file)
@@ -1,22 +1,21 @@
 /*
  * Milkymist VJ SoC (Software)
  * Copyright (C) 2007, 2008, 2009 Sebastien Bourdeauducq
- * 
+ *
  * 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, version 3 of the License.
- * 
+ *
  * 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, see <http://www.gnu.org/licenses/>.
  */
 
-#include <libc.h>
-#include <console.h>
+#include <stdio.h>
 #include <irq.h>
 #include <hw/ac97.h>
 #include <hw/interrupts.h>
index ae0489a..edc5445 100644 (file)
@@ -1,24 +1,23 @@
 /*
  * Milkymist VJ SoC (Software)
  * Copyright (C) 2007, 2008, 2009 Sebastien Bourdeauducq
- * 
+ *
  * 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, version 3 of the License.
- * 
+ *
  * 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, see <http://www.gnu.org/licenses/>.
  */
 
 /* SYSTEM CLOCK - Using HW timer 0 */
 
-#include <libc.h>
-#include <console.h>
+#include <stdio.h>
 #include <irq.h>
 #include <board.h>
 #include <hw/sysctl.h>
index ce0095a..da30ae7 100644 (file)
@@ -1,22 +1,21 @@
 /*
  * Milkymist VJ SoC (Software)
  * Copyright (C) 2007, 2008, 2009 Sebastien Bourdeauducq
- * 
+ *
  * 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, version 3 of the License.
- * 
+ *
  * 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, see <http://www.gnu.org/licenses/>.
  */
 
-#include <libc.h>
-#include <console.h>
+#include <stdio.h>
 #include <irq.h>
 #include <board.h>
 #include <hw/interrupts.h>
index 97c7189..29a3e4c 100644 (file)
@@ -1,21 +1,21 @@
 /*
  * Milkymist VJ SoC (Software)
  * Copyright (C) 2007, 2008, 2009 Sebastien Bourdeauducq
- * 
+ *
  * 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, version 3 of the License.
- * 
+ *
  * 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, see <http://www.gnu.org/licenses/>.
  */
 
-#include <console.h>
+#include <stdio.h>
 #include <hw/vga.h>
 
 #include <hal/vga.h>