# HG changeset patch # User anatofuz # Date 1575281521 -32400 # Node ID ed85941a75145648c25f6d3a4c0c39f2d1ef90f7 # Parent 94ee7046d1909db3658783e7c7d5de5e2f2a9367 mv old-makefiel diff -r 94ee7046d190 -r ed85941a7514 src/Makefile.osx --- a/src/Makefile.osx Mon Dec 02 18:07:42 2019 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,75 +0,0 @@ -# specify path to QEMU, installed with MacPorts -QEMU = qemu-system-arm - -include makefile-osx.inc - -# link the libgcc.a for __aeabi_idiv. ARM has no native support for div -LIBS = $(LIBGCC) - -OBJS = \ - lib/string.o \ - \ - arm.o\ - asm.o\ - bio.o\ - buddy.o\ - console.o\ - exec.o\ - file.o\ - fs.o\ - log.o\ - main.o\ - memide.o\ - pipe.o\ - proc.o\ - spinlock.o\ - start.o\ - swtch.o\ - syscall.o\ - sysfile.o\ - sysproc.o\ - trap_asm.o\ - trap.o\ - vm.o \ - \ - device/picirq.o \ - device/timer.o \ - device/uart.o - -KERN_OBJS = $(OBJS) entry-osx.o -kernel.elf: $(addprefix build/,$(KERN_OBJS)) kernel.ld build/initcode build/fs.img - cp -f build/initcode initcode - cp -f build/fs.img fs.img - $(call LINK_BIN, kernel.ld, kernel.elf, \ - $(addprefix build/,$(KERN_OBJS)), \ - initcode fs.img) - $(OBJDUMP) -S kernel.elf > kernel.asm - $(OBJDUMP) -t kernel.elf | sed '1,/SYMBOL TABLE/d; s/ .* / /; /^$$/d' > kernel.sym - rm -f initcode fs.img - -qemu: kernel.elf - @clear - @echo "Press Ctrl-A and then X to terminate QEMU session\n" - $(QEMU) -M versatilepb -m 128 -cpu arm1176 -nographic -kernel kernel.elf - -INITCODE_OBJ = initcode.o -$(addprefix build/,$(INITCODE_OBJ)): initcode.S - $(call build-directory) - $(call AS_WITH, -nostdinc -I.) - -#initcode is linked into the kernel, it will be used to craft the first process -build/initcode: $(addprefix build/,$(INITCODE_OBJ)) - $(call LINK_INIT, -e start ) - $(call OBJCOPY_INIT) - $(OBJDUMP) -S $< > initcode.asm - -build/fs.img: - make -C tools - make -C usr - -clean: - rm -rf build - rm -f *.o *.d *.asm *.sym vectors.S bootblock entryother \ - initcode initcode.out kernel xv6.img fs.img kernel.elf memfs - make -C tools clean - make -C usr clean diff -r 94ee7046d190 -r ed85941a7514 src/interface/SysRead.h --- a/src/interface/SysRead.h Mon Dec 02 18:07:42 2019 +0900 +++ b/src/interface/SysRead.h Mon Dec 02 19:12:01 2019 +0900 @@ -1,9 +1,8 @@ typedef struct SysRead{ union Data* sys_read; - struct UInteger* num; - struct Integer* n; - struct String *p; - __code read(Type* sys_read, __code next(...)); + struct Integer* num; + struct String *str; + __code read(Impl* sys_read, __code next(...)); //__code ret(Impl* cbc_sys_file, UInteger* num); __code next(...); } SysRead; diff -r 94ee7046d190 -r ed85941a7514 src/makefile-armclang --- a/src/makefile-armclang Mon Dec 02 18:07:42 2019 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,96 +0,0 @@ -# specify path to QEMU, installed with MacPorts -QEMU = qemu-system-arm - -CPU = armv8 -QEMUCPU = cortex-a15 -include makefile.inc -CC = /usr/local/cbclang/bin/clang -AS = arm-linux-gnu-as -LD = arm-linux-gnu-ld -OBJCOPY = arm-linux-gnu-objcopy -OBJDUMP = arm-linux-gnu-objdump - -# CFLAGS = -march=${CPU} -fno-pic -static -fno-builtin -fno-strict-aliasing -Wall -Werror -I. -g -O0 -CFLAGS = -target ${CPU}-linux-gnueabihf -march=${CPU} -fno-pic -static -fno-builtin -fno-strict-aliasing -Wall -I. -I ../cbclang/arm -g -O0 -LDFLAGS = --noinhibit-exec -# ASFLAGS = -march=${CPU} -ASFLAGS = -target ${CPU}-linux-gnueabihf - -LIBGCC = $(shell $(CC) $(CFLAGS) -print-libgcc-file-name) - -# link the libgcc.a for __aeabi_idiv. ARM has no native support for div -LIBS =/net/open/RaspberryPi/rasbian-img/usr/lib/gcc/arm-linux-gnueabihf/6/libgcc.a - - -OBJS = \ - lib/string.o \ - \ - arm.o\ - asm.o\ - bio.o\ - buddy.o\ - console.o\ - exec.o\ - file.o\ - fs.o\ - log.o\ - main.o\ - memide.o\ - pipe.o\ - proc.o\ - spinlock.o\ - start.o\ - swtch.o\ - syscall.o\ - sysfile.o\ - sysproc.o\ - trap_asm.o\ - trap.o\ - vm.o \ - \ - device/picirq.o \ - device/timer.o \ - device/uart.o - -KERN_OBJS = $(OBJS) entry-clang.o -kernel.elf: $(addprefix build/,$(KERN_OBJS)) kernel-clang.ld build/initcode build/fs.img - cp -f build/initcode initcode - cp -f build/fs.img fs.img - $(call LINK_BIN, kernel-clang.ld, kernel.elf, \ - $(addprefix build/,$(KERN_OBJS)), \ - initcode fs.img) - $(OBJDUMP) -S kernel.elf > kernel.asm - $(OBJDUMP) -t kernel.elf | sed '1,/SYMBOL TABLE/d; s/ .* / /; /^$$/d' > kernel.sym - rm -f initcode fs.img - -qemu: kernel.elf - @clear - @echo "Press Ctrl-A and then X to terminate QEMU session\n" - export QEMU_AUDIO_DRV=none ; $(QEMU) -M versatilepb -m 128 -cpu ${QEMUCPU} -nographic -soundhw hda -kernel kernel.elf - -qemu-debug : kernel.elf - @clear - @echo "Press Ctrl-A and then X to terminate QEMU session\n" - export QEMU_AUDIO_DRV=none ; $(QEMU) -M versatilepb -m 128 -cpu ${QEMUCPU} -nographic -singlestep -d exec,cpu,guest_errors -D qemu.log -kernel kernel.elf -s -S - -INITCODE_OBJ = initcode.o -$(addprefix build/,$(INITCODE_OBJ)): initcode.S - $(call build-directory) - $(call AS_WITH, -nostdinc -I.) - -#initcode is linked into the kernel, it will be used to craft the first process -build/initcode: $(addprefix build/,$(INITCODE_OBJ)) - $(call LINK_INIT, -N -e start -Ttext 0) - $(call OBJCOPY_INIT) - $(OBJDUMP) -S $< > initcode.asm - -build/fs.img: - make -C tools - make -C usr - -clean: - rm -rf build - rm -f *.o *.d *.asm *.sym vectors.S bootblock entryother \ - initcode initcode.out kernel xv6.img fs.img kernel.elf memfs - make -C tools clean - make -C usr clean diff -r 94ee7046d190 -r ed85941a7514 src/makefile-armgcc4.8.5 --- a/src/makefile-armgcc4.8.5 Mon Dec 02 18:07:42 2019 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,96 +0,0 @@ -# specify path to QEMU, installed with MacPorts -QEMU = qemu-system-arm - -include makefile.inc - -CC = arm-linux-gnu-gcc -AS = arm-linux-gnu-as -LD = arm-linux-gnu-ld -OBJCOPY = arm-linux-gnu-objcopy -OBJDUMP = arm-linux-gnu-objdump - -CFLAGS = -fno-pic -static -fno-builtin -fno-strict-aliasing -Wall -I. -g -O0 - -ASFLAGS = - -LIBGCC = $(shell $(CC) -print-libgcc-file-name) - -LINK_BIN = $(call quiet-command,$(LD) $(LDFLAGS) \ - -T $(1) -o $(2) $(3) $(LIBS) -b binary $(4), " LINK $(TARGET_DIR)$@") - -LINK_INIT = $(call quiet-command,$(LD) $(LDFLAGS) \ - $(1) -o $@.out $<, " LINK $(TARGET_DIR)$@") -OBJCOPY_INIT = $(call quiet-command,$(OBJCOPY) \ - -S -O binary --prefix-symbols="_binary_$@" $@.out $@, " OBJCOPY $(TARGET_DIR)$@") - - -# link the libgcc.a for __aeabi_idiv. ARM has no native support for div -LIBS = $(LIBGCC) - -OBJS = \ - lib/string.o \ - \ - arm.o\ - asm.o\ - bio.o\ - buddy.o\ - console.o\ - exec.o\ - file.o\ - fs.o\ - log.o\ - main.o\ - memide.o\ - pipe.o\ - proc.o\ - spinlock.o\ - start.o\ - swtch.o\ - syscall.o\ - sysfile.o\ - sysproc.o\ - trap_asm.o\ - trap.o\ - vm.o \ - \ - device/picirq.o \ - device/timer.o \ - device/uart.o - -KERN_OBJS = $(OBJS) entry.o -kernel.elf: $(addprefix build/,$(KERN_OBJS)) kernel.ld build/initcode build/fs.img - cp -f build/initcode initcode - cp -f build/fs.img fs.img - $(call LINK_BIN, kernel.ld, kernel.elf, \ - $(addprefix build/,$(KERN_OBJS)), \ - initcode fs.img) - $(OBJDUMP) -S kernel.elf > kernel.asm - $(OBJDUMP) -t kernel.elf | sed '1,/SYMBOL TABLE/d; s/ .* / /; /^$$/d' > kernel.sym - rm -f initcode fs.img - -qemu: kernel.elf - @clear - @echo "Press Ctrl-A and then X to terminate QEMU session\n" - $(QEMU) -M versatilepb -m 128 -cpu arm1176 -nographic -kernel kernel.elf - -INITCODE_OBJ = initcode.o -$(addprefix build/,$(INITCODE_OBJ)): initcode.S - $(call build-directory) - $(call AS_WITH, -nostdinc -I.) - -#initcode is linked into the kernel, it will be used to craft the first process -build/initcode: $(addprefix build/,$(INITCODE_OBJ)) - $(call LINK_INIT, -N -e start -Ttext 0) - $(call OBJCOPY_INIT) - $(OBJDUMP) -S $< > initcode.asm - -build/fs.img: - make -C tools - make -C usr - -clean: - rm -rf build - rm -f *.o *.d *.asm *.sym vectors.S bootblock entryother \ - initcode initcode.out kernel xv6.img fs.img kernel.elf memfs - make -C tools clean - make -C usr clean diff -r 94ee7046d190 -r ed85941a7514 src/makefile-armgccbc --- a/src/makefile-armgccbc Mon Dec 02 18:07:42 2019 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,102 +0,0 @@ -# specify path to QEMU, installed with MacPorts -QEMU = qemu-system-arm - -include makefile.inc - -CC = /mnt/dalmore-home/one/src/armgcc/cross/bin/arm-none-eabi-gcc -B/mnt/dalmore-home/one/src/armgcc/cross/bin/arm-none-eabi- -#AS = arm-linux-gnu-gcc -AS = /mnt/dalmore-home/one/src/armgcc/cross/bin/arm-none-eabi-gcc -#LD = arm-linux-gnu-ld -LD = /mnt/dalmore-home/one/src/armgcc/cross/bin/arm-none-eabi-ld -#OBJCOPY = arm-linux-gnu-objcopy -OBJCOPY = /mnt/dalmore-home/one/src/armgcc/cross/bin/arm-none-eabi-objcopy -#OBJDUMP = arm-linux-gnu-objdump -OBJDUMP = /mnt/dalmore-home/one/src/armgcc/cross/bin/arm-none-eabi-objdump -CFLAGS = -fno-pic -static -fno-builtin -fno-strict-aliasing -Wall -I. -g -O0 - -ASFLAGS = - -LIBGCC = $(shell $(CC) -print-libgcc-file-name) - -LINK_BIN = $(call quiet-command,$(LD) $(LDFLAGS) \ - -T $(1) -o $(2) $(3) $(LIBS) -b binary $(4), " LINK $(TARGET_DIR)$@") - -LINK_INIT = $(call quiet-command,$(LD) $(LDFLAGS) \ - $(1) -o $@.out $<, " LINK $(TARGET_DIR)$@") -OBJCOPY_INIT = $(call quiet-command,$(OBJCOPY) \ - -S -O binary --prefix-symbols="_binary_$@" $@.out $@, " OBJCOPY $(TARGET_DIR)$@") -AS_WITH = $(call quiet-command,$(AS) $(ASFLAGS) \ - $(1) -c -o $@ $<," AS $(TARGET_DIR)$@") - -# link the libgcc.a for __aeabi_idiv. ARM has no native support for div -LIBS = $(LIBGCC) - -CMAKEDIR = CMakeFiles/kernel.dir - -OBJS = \ - $(CMAKEDIR)/lib/string.c.o \ - $(CMAKEDIR)/c/kernel-context.c.o\ - $(CMAKEDIR)/arm.c.o\ - $(CMAKEDIR)/asm.S.o\ - $(CMAKEDIR)/bio.c.o\ - $(CMAKEDIR)/buddy.c.o\ - $(CMAKEDIR)/c/console.c.o\ - $(CMAKEDIR)/exec.c.o\ - $(CMAKEDIR)/c/file.c.o\ - $(CMAKEDIR)/fs.c.o\ - $(CMAKEDIR)/log.c.o\ - $(CMAKEDIR)/main.c.o\ - $(CMAKEDIR)/memide.c.o\ - $(CMAKEDIR)/c/pipe.c.o\ - $(CMAKEDIR)/c/proc.c.o\ - $(CMAKEDIR)/c/spinlock.c.o\ - $(CMAKEDIR)/start.c.o\ - $(CMAKEDIR)/swtch.S.o\ - $(CMAKEDIR)/c/syscall.c.o\ - $(CMAKEDIR)/c/sysfile.c.o\ - $(CMAKEDIR)/sysproc.c.o\ - $(CMAKEDIR)/trap_asm.c.o\ - $(CMAKEDIR)/trap.c.o\ - $(CMAKEDIR)/vm.c.o \ - \ - $(CMAKEDIR)/device/picirq.c.o \ - $(CMAKEDIR)/device/timer.c.o \ - $(CMAKEDIR)/device/uart.c.o - -KERN_OBJS = $(OBJS) entry.S.o -kernel.elf: $(KERN_OBJS) kernel.ld build/initcode build/fs.img - cp -f build/initcode initcode - cp -f build/fs.img fs.img - $(call LINK_BIN, kernel.ld, kernel.elf, \ - $(KERN_OBJS), \ - initcode fs.img) - $(OBJDUMP) -S kernel.elf > kernel.asm - $(OBJDUMP) -t kernel.elf | sed '1,/SYMBOL TABLE/d; s/ .* / /; /^$$/d' > kernel.sym - rm -f initcode fs.img - -qemu: kernel.elf - @clear - @echo "Press Ctrl-A and then X to terminate QEMU session\n" - $(QEMU) -M versatilepb -m 128 -cpu arm1176 -nographic -kernel kernel.elf - -INITCODE_OBJ = initcode.o -$(addprefix build/,$(INITCODE_OBJ)): initcode.S - $(call build-directory) - $(call AS_WITH, -nostdinc -I.) - -#initcode is linked into the kernel, it will be used to craft the first process -build/initcode: $(addprefix build/,$(INITCODE_OBJ)) - $(call LINK_INIT, -N -e start -Ttext 0) - $(call OBJCOPY_INIT) - $(OBJDUMP) -S $< > initcode.asm - -build/fs.img: - make -C tools - make -C usr -f makfile-armgccbc - -clean: - rm -rf build - rm -f *.o *.d *.asm *.sym vectors.S bootblock entryother \ - initcode initcode.out kernel xv6.img fs.img kernel.elf memfs - make -C tools clean - make -C usr clean diff -r 94ee7046d190 -r ed85941a7514 src/makefile-osx.inc --- a/src/makefile-osx.inc Mon Dec 02 18:07:42 2019 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,48 +0,0 @@ -# Cross-compiling (e.g., on Mac OS X, install arm-none-eabi-gcc with MacPorts) -CROSSCOMPILE := - -CC = $(CROSSCOMPILE)/Users/one/src/cbclang-arm/build/bin/clang -AS = $(CROSSCOMPILE)as -LD = $(CROSSCOMPILE)ld -OBJCOPY = $(CROSSCOMPILE)objcopy -OBJDUMP = $(CROSSCOMPILE)objdump - -CFLAGS = -arch arm -fno-pic -static -fno-builtin -fno-strict-aliasing -Wall -Werror -I. -g -O0 \ - -Wno-macro-redefined -Wno-gnu-designator -Wno-sometimes-uninitialized -Wno-tautological-compare \ - -I/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/include -LDFLAGS = -L. -arch armv7 -ASFLAGS = -arch arm - -LIBGCC = $(shell $(CC) -print-libgcc-file-name) - -# host compiler -HOSTCC_preferred = clang -define get_hostcc - $(if $(shell which $(HOSTCC_preferred)),$(HOSTCC_preferred),"cc") -endef -HOSTCC := $(call get_hostcc) - -# general rules -quiet-command = $(if $(V),$1,$(if $(2),@echo $2 && $1, @$1)) - -LINK_BIN = $(call quiet-command,$(LD) $(LDFLAGS) \ - -T $(1) -o $(2) $(3) $(LIBS) -b binary $(4), " LINK $(TARGET_DIR)$@") - -LINK_INIT = $(call quiet-command,$(LD) $(LDFLAGS) \ - $(1) -o $@.out $<, " LINK $(TARGET_DIR)$@") -OBJCOPY_INIT = $(call quiet-command,$(OBJCOPY) \ - -S -O binary --prefix-symbols="_binary_$@" $@.out $@, " OBJCOPY $(TARGET_DIR)$@") - -build-directory = $(shell mkdir -p build build/device build/lib) - -build/%.o: %.c - $(call build-directory) - $(call quiet-command,$(CC) $(CFLAGS) \ - -c -o $@ $<," CC $(TARGET_DIR)$@") - -AS_WITH = $(call quiet-command,$(CC) $(ASFLAGS) \ - $(1) -c -o $@ $<," AS $(TARGET_DIR)$@") - -build/%.o: %.S - $(call build-directory) - $(call AS_WITH, ) diff -r 94ee7046d190 -r ed85941a7514 src/makefile.inc --- a/src/makefile.inc Mon Dec 02 18:07:42 2019 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,57 +0,0 @@ -# Cross-compiling (e.g., on Mac OS X, install arm-none-eabi-gcc with MacPorts) - -CROSSCOMPILE := arm-linux-gnu- - -CPU = armv8 -#CC = /usr/local/cbclang/bin/clang -AS = $(CROSSCOMPILE)as -LD = $(CROSSCOMPILE)ld -OBJCOPY = $(CROSSCOMPILE)objcopy -OBJDUMP = $(CROSSCOMPILE)objdump - -# CFLAGS = -march=${CPU} -fno-pic -static -fno-builtin -fno-strict-aliasing -Wall -Werror -I. -g -O0 -CFLAGS = -target ${CPU}-none-eabi -I /net/open/Linux/arm/gcc-arm-none-eabi-7-2017-q4-major/arm-none-eabi/include/ /net/open/Linux/arm/gcc-arm-none-eabi-7-2017-q4-major/lib/gcc/arm-none-eabi/7.2.1/include-fixed/ -fno-pic -static -fno-builtin -fno-strict-aliasing -Wall -I. -g -O0 -LDFLAGS = -L. -# ASFLAGS = -march=${CPU} -ASFLAGS = -target ${CPU}-none-eabi - -#LIBGCC = $(shell $(gcc) -print-libgcc-file-name) -LIBGCC = /net/open/Linux/arm/gcc-arm-none-eabi-7-2017-q4-major/lib/gcc/arm-none-eabi/7.2.1/libgcc.a - -# host compiler - HOSTCC_preferred = gcc -#HOSTCC_preferred = /usr/local/cbclang/bin/clang -define get_hostcc - $(if $(shell which $(HOSTCC_preferred)),$(HOSTCC_preferred),"cc") -endef -HOSTCC := $(call get_hostcc) - -# general rules -quiet-command = $(if $(V),$1,$(if $(2),@echo $2 && $1, @$1)) - -LINK_BIN = $(call quiet-command,$(LD) $(LDFLAGS) \ - -T $(1) -o $(2) $(3) $(LIBS) -b binary $(4), " LINK $(TARGET_DIR)$@") - -LINK_INIT = $(call quiet-command,$(LD) $(LDFLAGS) \ - $(1) -o $@.out $<, " LINK $(TARGET_DIR)$@") -OBJCOPY_INIT = $(call quiet-command,$(OBJCOPY) \ - -S -O binary --prefix-symbols="_binary_$@" $@.out $@, " OBJCOPY $(TARGET_DIR)$@") - -build-directory = $(shell mkdir -p build build/device build/lib) - -build/%.o: %.c - $(call build-directory) - $(call quiet-command,$(CC) $(CFLAGS) \ - -c -o $@ $<," CC $(TARGET_DIR)$@") - -build/%.o: %.cbc - $(call build-directory) - $(call quiet-command,$(CC) $(CFLAGS) \ - -c -o $@ $<," CC $(TARGET_DIR)$@") - -AS_WITH = $(call quiet-command,$(CC) $(ASFLAGS) \ - $(1) -c -o $@ $<," AS $(TARGET_DIR)$@") - -build/%.o: %.S - $(call build-directory) - $(call AS_WITH, ) diff -r 94ee7046d190 -r ed85941a7514 src/old_makefiles/Makefile.osx --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/old_makefiles/Makefile.osx Mon Dec 02 19:12:01 2019 +0900 @@ -0,0 +1,75 @@ +# specify path to QEMU, installed with MacPorts +QEMU = qemu-system-arm + +include makefile-osx.inc + +# link the libgcc.a for __aeabi_idiv. ARM has no native support for div +LIBS = $(LIBGCC) + +OBJS = \ + lib/string.o \ + \ + arm.o\ + asm.o\ + bio.o\ + buddy.o\ + console.o\ + exec.o\ + file.o\ + fs.o\ + log.o\ + main.o\ + memide.o\ + pipe.o\ + proc.o\ + spinlock.o\ + start.o\ + swtch.o\ + syscall.o\ + sysfile.o\ + sysproc.o\ + trap_asm.o\ + trap.o\ + vm.o \ + \ + device/picirq.o \ + device/timer.o \ + device/uart.o + +KERN_OBJS = $(OBJS) entry-osx.o +kernel.elf: $(addprefix build/,$(KERN_OBJS)) kernel.ld build/initcode build/fs.img + cp -f build/initcode initcode + cp -f build/fs.img fs.img + $(call LINK_BIN, kernel.ld, kernel.elf, \ + $(addprefix build/,$(KERN_OBJS)), \ + initcode fs.img) + $(OBJDUMP) -S kernel.elf > kernel.asm + $(OBJDUMP) -t kernel.elf | sed '1,/SYMBOL TABLE/d; s/ .* / /; /^$$/d' > kernel.sym + rm -f initcode fs.img + +qemu: kernel.elf + @clear + @echo "Press Ctrl-A and then X to terminate QEMU session\n" + $(QEMU) -M versatilepb -m 128 -cpu arm1176 -nographic -kernel kernel.elf + +INITCODE_OBJ = initcode.o +$(addprefix build/,$(INITCODE_OBJ)): initcode.S + $(call build-directory) + $(call AS_WITH, -nostdinc -I.) + +#initcode is linked into the kernel, it will be used to craft the first process +build/initcode: $(addprefix build/,$(INITCODE_OBJ)) + $(call LINK_INIT, -e start ) + $(call OBJCOPY_INIT) + $(OBJDUMP) -S $< > initcode.asm + +build/fs.img: + make -C tools + make -C usr + +clean: + rm -rf build + rm -f *.o *.d *.asm *.sym vectors.S bootblock entryother \ + initcode initcode.out kernel xv6.img fs.img kernel.elf memfs + make -C tools clean + make -C usr clean diff -r 94ee7046d190 -r ed85941a7514 src/old_makefiles/makefile-armclang --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/old_makefiles/makefile-armclang Mon Dec 02 19:12:01 2019 +0900 @@ -0,0 +1,96 @@ +# specify path to QEMU, installed with MacPorts +QEMU = qemu-system-arm + +CPU = armv8 +QEMUCPU = cortex-a15 +include makefile.inc +CC = /usr/local/cbclang/bin/clang +AS = arm-linux-gnu-as +LD = arm-linux-gnu-ld +OBJCOPY = arm-linux-gnu-objcopy +OBJDUMP = arm-linux-gnu-objdump + +# CFLAGS = -march=${CPU} -fno-pic -static -fno-builtin -fno-strict-aliasing -Wall -Werror -I. -g -O0 +CFLAGS = -target ${CPU}-linux-gnueabihf -march=${CPU} -fno-pic -static -fno-builtin -fno-strict-aliasing -Wall -I. -I ../cbclang/arm -g -O0 +LDFLAGS = --noinhibit-exec +# ASFLAGS = -march=${CPU} +ASFLAGS = -target ${CPU}-linux-gnueabihf + +LIBGCC = $(shell $(CC) $(CFLAGS) -print-libgcc-file-name) + +# link the libgcc.a for __aeabi_idiv. ARM has no native support for div +LIBS =/net/open/RaspberryPi/rasbian-img/usr/lib/gcc/arm-linux-gnueabihf/6/libgcc.a + + +OBJS = \ + lib/string.o \ + \ + arm.o\ + asm.o\ + bio.o\ + buddy.o\ + console.o\ + exec.o\ + file.o\ + fs.o\ + log.o\ + main.o\ + memide.o\ + pipe.o\ + proc.o\ + spinlock.o\ + start.o\ + swtch.o\ + syscall.o\ + sysfile.o\ + sysproc.o\ + trap_asm.o\ + trap.o\ + vm.o \ + \ + device/picirq.o \ + device/timer.o \ + device/uart.o + +KERN_OBJS = $(OBJS) entry-clang.o +kernel.elf: $(addprefix build/,$(KERN_OBJS)) kernel-clang.ld build/initcode build/fs.img + cp -f build/initcode initcode + cp -f build/fs.img fs.img + $(call LINK_BIN, kernel-clang.ld, kernel.elf, \ + $(addprefix build/,$(KERN_OBJS)), \ + initcode fs.img) + $(OBJDUMP) -S kernel.elf > kernel.asm + $(OBJDUMP) -t kernel.elf | sed '1,/SYMBOL TABLE/d; s/ .* / /; /^$$/d' > kernel.sym + rm -f initcode fs.img + +qemu: kernel.elf + @clear + @echo "Press Ctrl-A and then X to terminate QEMU session\n" + export QEMU_AUDIO_DRV=none ; $(QEMU) -M versatilepb -m 128 -cpu ${QEMUCPU} -nographic -soundhw hda -kernel kernel.elf + +qemu-debug : kernel.elf + @clear + @echo "Press Ctrl-A and then X to terminate QEMU session\n" + export QEMU_AUDIO_DRV=none ; $(QEMU) -M versatilepb -m 128 -cpu ${QEMUCPU} -nographic -singlestep -d exec,cpu,guest_errors -D qemu.log -kernel kernel.elf -s -S + +INITCODE_OBJ = initcode.o +$(addprefix build/,$(INITCODE_OBJ)): initcode.S + $(call build-directory) + $(call AS_WITH, -nostdinc -I.) + +#initcode is linked into the kernel, it will be used to craft the first process +build/initcode: $(addprefix build/,$(INITCODE_OBJ)) + $(call LINK_INIT, -N -e start -Ttext 0) + $(call OBJCOPY_INIT) + $(OBJDUMP) -S $< > initcode.asm + +build/fs.img: + make -C tools + make -C usr + +clean: + rm -rf build + rm -f *.o *.d *.asm *.sym vectors.S bootblock entryother \ + initcode initcode.out kernel xv6.img fs.img kernel.elf memfs + make -C tools clean + make -C usr clean diff -r 94ee7046d190 -r ed85941a7514 src/old_makefiles/makefile-armgcc4.8.5 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/old_makefiles/makefile-armgcc4.8.5 Mon Dec 02 19:12:01 2019 +0900 @@ -0,0 +1,96 @@ +# specify path to QEMU, installed with MacPorts +QEMU = qemu-system-arm + +include makefile.inc + +CC = arm-linux-gnu-gcc +AS = arm-linux-gnu-as +LD = arm-linux-gnu-ld +OBJCOPY = arm-linux-gnu-objcopy +OBJDUMP = arm-linux-gnu-objdump + +CFLAGS = -fno-pic -static -fno-builtin -fno-strict-aliasing -Wall -I. -g -O0 + +ASFLAGS = + +LIBGCC = $(shell $(CC) -print-libgcc-file-name) + +LINK_BIN = $(call quiet-command,$(LD) $(LDFLAGS) \ + -T $(1) -o $(2) $(3) $(LIBS) -b binary $(4), " LINK $(TARGET_DIR)$@") + +LINK_INIT = $(call quiet-command,$(LD) $(LDFLAGS) \ + $(1) -o $@.out $<, " LINK $(TARGET_DIR)$@") +OBJCOPY_INIT = $(call quiet-command,$(OBJCOPY) \ + -S -O binary --prefix-symbols="_binary_$@" $@.out $@, " OBJCOPY $(TARGET_DIR)$@") + + +# link the libgcc.a for __aeabi_idiv. ARM has no native support for div +LIBS = $(LIBGCC) + +OBJS = \ + lib/string.o \ + \ + arm.o\ + asm.o\ + bio.o\ + buddy.o\ + console.o\ + exec.o\ + file.o\ + fs.o\ + log.o\ + main.o\ + memide.o\ + pipe.o\ + proc.o\ + spinlock.o\ + start.o\ + swtch.o\ + syscall.o\ + sysfile.o\ + sysproc.o\ + trap_asm.o\ + trap.o\ + vm.o \ + \ + device/picirq.o \ + device/timer.o \ + device/uart.o + +KERN_OBJS = $(OBJS) entry.o +kernel.elf: $(addprefix build/,$(KERN_OBJS)) kernel.ld build/initcode build/fs.img + cp -f build/initcode initcode + cp -f build/fs.img fs.img + $(call LINK_BIN, kernel.ld, kernel.elf, \ + $(addprefix build/,$(KERN_OBJS)), \ + initcode fs.img) + $(OBJDUMP) -S kernel.elf > kernel.asm + $(OBJDUMP) -t kernel.elf | sed '1,/SYMBOL TABLE/d; s/ .* / /; /^$$/d' > kernel.sym + rm -f initcode fs.img + +qemu: kernel.elf + @clear + @echo "Press Ctrl-A and then X to terminate QEMU session\n" + $(QEMU) -M versatilepb -m 128 -cpu arm1176 -nographic -kernel kernel.elf + +INITCODE_OBJ = initcode.o +$(addprefix build/,$(INITCODE_OBJ)): initcode.S + $(call build-directory) + $(call AS_WITH, -nostdinc -I.) + +#initcode is linked into the kernel, it will be used to craft the first process +build/initcode: $(addprefix build/,$(INITCODE_OBJ)) + $(call LINK_INIT, -N -e start -Ttext 0) + $(call OBJCOPY_INIT) + $(OBJDUMP) -S $< > initcode.asm + +build/fs.img: + make -C tools + make -C usr + +clean: + rm -rf build + rm -f *.o *.d *.asm *.sym vectors.S bootblock entryother \ + initcode initcode.out kernel xv6.img fs.img kernel.elf memfs + make -C tools clean + make -C usr clean diff -r 94ee7046d190 -r ed85941a7514 src/old_makefiles/makefile-armgccbc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/old_makefiles/makefile-armgccbc Mon Dec 02 19:12:01 2019 +0900 @@ -0,0 +1,102 @@ +# specify path to QEMU, installed with MacPorts +QEMU = qemu-system-arm + +include makefile.inc + +CC = /mnt/dalmore-home/one/src/armgcc/cross/bin/arm-none-eabi-gcc -B/mnt/dalmore-home/one/src/armgcc/cross/bin/arm-none-eabi- +#AS = arm-linux-gnu-gcc +AS = /mnt/dalmore-home/one/src/armgcc/cross/bin/arm-none-eabi-gcc +#LD = arm-linux-gnu-ld +LD = /mnt/dalmore-home/one/src/armgcc/cross/bin/arm-none-eabi-ld +#OBJCOPY = arm-linux-gnu-objcopy +OBJCOPY = /mnt/dalmore-home/one/src/armgcc/cross/bin/arm-none-eabi-objcopy +#OBJDUMP = arm-linux-gnu-objdump +OBJDUMP = /mnt/dalmore-home/one/src/armgcc/cross/bin/arm-none-eabi-objdump +CFLAGS = -fno-pic -static -fno-builtin -fno-strict-aliasing -Wall -I. -g -O0 + +ASFLAGS = + +LIBGCC = $(shell $(CC) -print-libgcc-file-name) + +LINK_BIN = $(call quiet-command,$(LD) $(LDFLAGS) \ + -T $(1) -o $(2) $(3) $(LIBS) -b binary $(4), " LINK $(TARGET_DIR)$@") + +LINK_INIT = $(call quiet-command,$(LD) $(LDFLAGS) \ + $(1) -o $@.out $<, " LINK $(TARGET_DIR)$@") +OBJCOPY_INIT = $(call quiet-command,$(OBJCOPY) \ + -S -O binary --prefix-symbols="_binary_$@" $@.out $@, " OBJCOPY $(TARGET_DIR)$@") +AS_WITH = $(call quiet-command,$(AS) $(ASFLAGS) \ + $(1) -c -o $@ $<," AS $(TARGET_DIR)$@") + +# link the libgcc.a for __aeabi_idiv. ARM has no native support for div +LIBS = $(LIBGCC) + +CMAKEDIR = CMakeFiles/kernel.dir + +OBJS = \ + $(CMAKEDIR)/lib/string.c.o \ + $(CMAKEDIR)/c/kernel-context.c.o\ + $(CMAKEDIR)/arm.c.o\ + $(CMAKEDIR)/asm.S.o\ + $(CMAKEDIR)/bio.c.o\ + $(CMAKEDIR)/buddy.c.o\ + $(CMAKEDIR)/c/console.c.o\ + $(CMAKEDIR)/exec.c.o\ + $(CMAKEDIR)/c/file.c.o\ + $(CMAKEDIR)/fs.c.o\ + $(CMAKEDIR)/log.c.o\ + $(CMAKEDIR)/main.c.o\ + $(CMAKEDIR)/memide.c.o\ + $(CMAKEDIR)/c/pipe.c.o\ + $(CMAKEDIR)/c/proc.c.o\ + $(CMAKEDIR)/c/spinlock.c.o\ + $(CMAKEDIR)/start.c.o\ + $(CMAKEDIR)/swtch.S.o\ + $(CMAKEDIR)/c/syscall.c.o\ + $(CMAKEDIR)/c/sysfile.c.o\ + $(CMAKEDIR)/sysproc.c.o\ + $(CMAKEDIR)/trap_asm.c.o\ + $(CMAKEDIR)/trap.c.o\ + $(CMAKEDIR)/vm.c.o \ + \ + $(CMAKEDIR)/device/picirq.c.o \ + $(CMAKEDIR)/device/timer.c.o \ + $(CMAKEDIR)/device/uart.c.o + +KERN_OBJS = $(OBJS) entry.S.o +kernel.elf: $(KERN_OBJS) kernel.ld build/initcode build/fs.img + cp -f build/initcode initcode + cp -f build/fs.img fs.img + $(call LINK_BIN, kernel.ld, kernel.elf, \ + $(KERN_OBJS), \ + initcode fs.img) + $(OBJDUMP) -S kernel.elf > kernel.asm + $(OBJDUMP) -t kernel.elf | sed '1,/SYMBOL TABLE/d; s/ .* / /; /^$$/d' > kernel.sym + rm -f initcode fs.img + +qemu: kernel.elf + @clear + @echo "Press Ctrl-A and then X to terminate QEMU session\n" + $(QEMU) -M versatilepb -m 128 -cpu arm1176 -nographic -kernel kernel.elf + +INITCODE_OBJ = initcode.o +$(addprefix build/,$(INITCODE_OBJ)): initcode.S + $(call build-directory) + $(call AS_WITH, -nostdinc -I.) + +#initcode is linked into the kernel, it will be used to craft the first process +build/initcode: $(addprefix build/,$(INITCODE_OBJ)) + $(call LINK_INIT, -N -e start -Ttext 0) + $(call OBJCOPY_INIT) + $(OBJDUMP) -S $< > initcode.asm + +build/fs.img: + make -C tools + make -C usr -f makfile-armgccbc + +clean: + rm -rf build + rm -f *.o *.d *.asm *.sym vectors.S bootblock entryother \ + initcode initcode.out kernel xv6.img fs.img kernel.elf memfs + make -C tools clean + make -C usr clean diff -r 94ee7046d190 -r ed85941a7514 src/old_makefiles/makefile-osx.inc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/old_makefiles/makefile-osx.inc Mon Dec 02 19:12:01 2019 +0900 @@ -0,0 +1,48 @@ +# Cross-compiling (e.g., on Mac OS X, install arm-none-eabi-gcc with MacPorts) +CROSSCOMPILE := + +CC = $(CROSSCOMPILE)/Users/one/src/cbclang-arm/build/bin/clang +AS = $(CROSSCOMPILE)as +LD = $(CROSSCOMPILE)ld +OBJCOPY = $(CROSSCOMPILE)objcopy +OBJDUMP = $(CROSSCOMPILE)objdump + +CFLAGS = -arch arm -fno-pic -static -fno-builtin -fno-strict-aliasing -Wall -Werror -I. -g -O0 \ + -Wno-macro-redefined -Wno-gnu-designator -Wno-sometimes-uninitialized -Wno-tautological-compare \ + -I/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/include +LDFLAGS = -L. -arch armv7 +ASFLAGS = -arch arm + +LIBGCC = $(shell $(CC) -print-libgcc-file-name) + +# host compiler +HOSTCC_preferred = clang +define get_hostcc + $(if $(shell which $(HOSTCC_preferred)),$(HOSTCC_preferred),"cc") +endef +HOSTCC := $(call get_hostcc) + +# general rules +quiet-command = $(if $(V),$1,$(if $(2),@echo $2 && $1, @$1)) + +LINK_BIN = $(call quiet-command,$(LD) $(LDFLAGS) \ + -T $(1) -o $(2) $(3) $(LIBS) -b binary $(4), " LINK $(TARGET_DIR)$@") + +LINK_INIT = $(call quiet-command,$(LD) $(LDFLAGS) \ + $(1) -o $@.out $<, " LINK $(TARGET_DIR)$@") +OBJCOPY_INIT = $(call quiet-command,$(OBJCOPY) \ + -S -O binary --prefix-symbols="_binary_$@" $@.out $@, " OBJCOPY $(TARGET_DIR)$@") + +build-directory = $(shell mkdir -p build build/device build/lib) + +build/%.o: %.c + $(call build-directory) + $(call quiet-command,$(CC) $(CFLAGS) \ + -c -o $@ $<," CC $(TARGET_DIR)$@") + +AS_WITH = $(call quiet-command,$(CC) $(ASFLAGS) \ + $(1) -c -o $@ $<," AS $(TARGET_DIR)$@") + +build/%.o: %.S + $(call build-directory) + $(call AS_WITH, ) diff -r 94ee7046d190 -r ed85941a7514 src/old_makefiles/makefile.inc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/old_makefiles/makefile.inc Mon Dec 02 19:12:01 2019 +0900 @@ -0,0 +1,57 @@ +# Cross-compiling (e.g., on Mac OS X, install arm-none-eabi-gcc with MacPorts) + +CROSSCOMPILE := arm-linux-gnu- + +CPU = armv8 +#CC = /usr/local/cbclang/bin/clang +AS = $(CROSSCOMPILE)as +LD = $(CROSSCOMPILE)ld +OBJCOPY = $(CROSSCOMPILE)objcopy +OBJDUMP = $(CROSSCOMPILE)objdump + +# CFLAGS = -march=${CPU} -fno-pic -static -fno-builtin -fno-strict-aliasing -Wall -Werror -I. -g -O0 +CFLAGS = -target ${CPU}-none-eabi -I /net/open/Linux/arm/gcc-arm-none-eabi-7-2017-q4-major/arm-none-eabi/include/ /net/open/Linux/arm/gcc-arm-none-eabi-7-2017-q4-major/lib/gcc/arm-none-eabi/7.2.1/include-fixed/ -fno-pic -static -fno-builtin -fno-strict-aliasing -Wall -I. -g -O0 +LDFLAGS = -L. +# ASFLAGS = -march=${CPU} +ASFLAGS = -target ${CPU}-none-eabi + +#LIBGCC = $(shell $(gcc) -print-libgcc-file-name) +LIBGCC = /net/open/Linux/arm/gcc-arm-none-eabi-7-2017-q4-major/lib/gcc/arm-none-eabi/7.2.1/libgcc.a + +# host compiler + HOSTCC_preferred = gcc +#HOSTCC_preferred = /usr/local/cbclang/bin/clang +define get_hostcc + $(if $(shell which $(HOSTCC_preferred)),$(HOSTCC_preferred),"cc") +endef +HOSTCC := $(call get_hostcc) + +# general rules +quiet-command = $(if $(V),$1,$(if $(2),@echo $2 && $1, @$1)) + +LINK_BIN = $(call quiet-command,$(LD) $(LDFLAGS) \ + -T $(1) -o $(2) $(3) $(LIBS) -b binary $(4), " LINK $(TARGET_DIR)$@") + +LINK_INIT = $(call quiet-command,$(LD) $(LDFLAGS) \ + $(1) -o $@.out $<, " LINK $(TARGET_DIR)$@") +OBJCOPY_INIT = $(call quiet-command,$(OBJCOPY) \ + -S -O binary --prefix-symbols="_binary_$@" $@.out $@, " OBJCOPY $(TARGET_DIR)$@") + +build-directory = $(shell mkdir -p build build/device build/lib) + +build/%.o: %.c + $(call build-directory) + $(call quiet-command,$(CC) $(CFLAGS) \ + -c -o $@ $<," CC $(TARGET_DIR)$@") + +build/%.o: %.cbc + $(call build-directory) + $(call quiet-command,$(CC) $(CFLAGS) \ + -c -o $@ $<," CC $(TARGET_DIR)$@") + +AS_WITH = $(call quiet-command,$(CC) $(ASFLAGS) \ + $(1) -c -o $@ $<," AS $(TARGET_DIR)$@") + +build/%.o: %.S + $(call build-directory) + $(call AS_WITH, ) diff -r 94ee7046d190 -r ed85941a7514 src/plautogen/interface/Integer.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/plautogen/interface/Integer.h Mon Dec 02 19:12:01 2019 +0900 @@ -0,0 +1,3 @@ +typedef struct Integer { + int value; +} Integer;