mirror of
https://github.com/isometimes/rpi4-osdev
synced 2024-11-23 18:50:40 +00:00
Compare commits
10 commits
b1c3dfc5d6
...
d70738eea6
Author | SHA1 | Date | |
---|---|---|---|
|
d70738eea6 | ||
|
71d96e9044 | ||
|
4cd63a2716 | ||
|
1d022a6b6c | ||
|
16f2a00914 | ||
|
0bd322d7b7 | ||
|
c71a1cc18a | ||
|
d7ad289e54 | ||
|
c1edecf21f | ||
|
8277e48bc2 |
32 changed files with 74 additions and 96 deletions
|
@ -1,7 +1,7 @@
|
||||||
CFILES = $(wildcard *.c)
|
CFILES = $(wildcard *.c)
|
||||||
OFILES = $(CFILES:.c=.o)
|
OFILES = $(CFILES:.c=.o)
|
||||||
GCCFLAGS = -Wall -O2 -ffreestanding -nostdinc -nostdlib -nostartfiles
|
GCCFLAGS = -Wall -O2 -ffreestanding -nostdinc -nostdlib -nostartfiles -mstrict-align
|
||||||
GCCPATH = ../../gcc-arm-10.3-2021.07-x86_64-aarch64-none-elf/bin
|
GCCPATH = ../../arm-gnu-toolchain-13.2.Rel1-darwin-arm64-aarch64-none-elf/bin
|
||||||
|
|
||||||
all: clean kernel8.img
|
all: clean kernel8.img
|
||||||
|
|
||||||
|
|
|
@ -19,8 +19,8 @@ enum {
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
Pull_None = 0,
|
Pull_None = 0,
|
||||||
Pull_Down = 1, // Are down and up the right way around?
|
Pull_Down = 2,
|
||||||
Pull_Up = 2
|
Pull_Up = 1
|
||||||
};
|
};
|
||||||
|
|
||||||
void mmio_write(long reg, unsigned int val) { *(volatile unsigned int *)reg = val; }
|
void mmio_write(long reg, unsigned int val) { *(volatile unsigned int *)reg = val; }
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
extern unsigned int spin_cpu0;
|
extern unsigned long spin_cpu0;
|
||||||
extern unsigned int spin_cpu1;
|
extern unsigned long spin_cpu1;
|
||||||
extern unsigned int spin_cpu2;
|
extern unsigned long spin_cpu2;
|
||||||
extern unsigned int spin_cpu3;
|
extern unsigned long spin_cpu3;
|
||||||
|
|
||||||
void start_core1(void (*func)(void));
|
void start_core1(void (*func)(void));
|
||||||
void start_core2(void (*func)(void));
|
void start_core2(void (*func)(void));
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
CFILES = $(wildcard *.c lib/*.c)
|
CFILES = $(wildcard *.c lib/*.c)
|
||||||
OFILES = $(CFILES:.c=.o)
|
OFILES = $(CFILES:.c=.o)
|
||||||
GCCFLAGS = -Wall -O2 -ffreestanding -nostdinc -nostdlib -nostartfiles
|
GCCFLAGS = -Wall -O2 -ffreestanding -nostdinc -nostdlib -nostartfiles -mstrict-align
|
||||||
GCCPATH = ../../gcc-arm-10.3-2021.07-x86_64-aarch64-none-elf/bin
|
GCCPATH = ../../arm-gnu-toolchain-13.2.Rel1-darwin-arm64-aarch64-none-elf/bin
|
||||||
|
|
||||||
all: clean kernel8.img
|
all: clean kernel8.img
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
extern unsigned int spin_cpu0;
|
extern unsigned long spin_cpu0;
|
||||||
extern unsigned int spin_cpu1;
|
extern unsigned long spin_cpu1;
|
||||||
extern unsigned int spin_cpu2;
|
extern unsigned long spin_cpu2;
|
||||||
extern unsigned int spin_cpu3;
|
extern unsigned long spin_cpu3;
|
||||||
|
|
||||||
void start_core1(void (*func)(void));
|
void start_core1(void (*func)(void));
|
||||||
void start_core2(void (*func)(void));
|
void start_core2(void (*func)(void));
|
||||||
|
|
|
@ -19,8 +19,8 @@ enum {
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
Pull_None = 0,
|
Pull_None = 0,
|
||||||
Pull_Down = 1, // Are down and up the right way around?
|
Pull_Down = 2,
|
||||||
Pull_Up = 2
|
Pull_Up = 1
|
||||||
};
|
};
|
||||||
|
|
||||||
void mmio_write(long reg, unsigned int val) { *(volatile unsigned int *)reg = val; }
|
void mmio_write(long reg, unsigned int val) { *(volatile unsigned int *)reg = val; }
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
extern unsigned int spin_cpu0;
|
extern unsigned long spin_cpu0;
|
||||||
extern unsigned int spin_cpu1;
|
extern unsigned long spin_cpu1;
|
||||||
extern unsigned int spin_cpu2;
|
extern unsigned long spin_cpu2;
|
||||||
extern unsigned int spin_cpu3;
|
extern unsigned long spin_cpu3;
|
||||||
|
|
||||||
void start_core1(void (*func)(void));
|
void start_core1(void (*func)(void));
|
||||||
void start_core2(void (*func)(void));
|
void start_core2(void (*func)(void));
|
||||||
|
|
|
@ -19,8 +19,8 @@ enum {
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
Pull_None = 0,
|
Pull_None = 0,
|
||||||
Pull_Down = 1, // Are down and up the right way around?
|
Pull_Down = 2,
|
||||||
Pull_Up = 2
|
Pull_Up = 1
|
||||||
};
|
};
|
||||||
|
|
||||||
void mmio_write(long reg, unsigned int val) { *(volatile unsigned int *)reg = val; }
|
void mmio_write(long reg, unsigned int val) { *(volatile unsigned int *)reg = val; }
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
CFILES = $(wildcard *.c lib/*.c kernel/*.c)
|
CFILES = $(wildcard *.c lib/*.c kernel/*.c)
|
||||||
SFILES = $(wildcard boot/*.S lib/*.S kernel/*.S)
|
SFILES = $(wildcard boot/*.S lib/*.S kernel/*.S)
|
||||||
OFILES = $(CFILES:.c=.o) $(SFILES:.S=.o)
|
OFILES = $(CFILES:.c=.o) $(SFILES:.S=.o)
|
||||||
GCCFLAGS = -Wall -O2 -ffreestanding -nostdinc -nostdlib -nostartfiles
|
GCCFLAGS = -Wall -O2 -ffreestanding -nostdinc -nostdlib -nostartfiles -mstrict-align
|
||||||
GCCPATH = ../../gcc-arm-10.3-2021.07-x86_64-aarch64-none-elf/bin
|
GCCPATH = ../../arm-gnu-toolchain-13.2.Rel1-darwin-arm64-aarch64-none-elf/bin
|
||||||
|
|
||||||
all: clean kernel8.img
|
all: clean kernel8.img
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
extern unsigned int spin_cpu0;
|
extern unsigned long spin_cpu0;
|
||||||
extern unsigned int spin_cpu1;
|
extern unsigned long spin_cpu1;
|
||||||
extern unsigned int spin_cpu2;
|
extern unsigned long spin_cpu2;
|
||||||
extern unsigned int spin_cpu3;
|
extern unsigned long spin_cpu3;
|
||||||
|
|
||||||
void start_core1(void (*func)(void));
|
void start_core1(void (*func)(void));
|
||||||
void start_core2(void (*func)(void));
|
void start_core2(void (*func)(void));
|
||||||
|
|
|
@ -19,8 +19,8 @@ enum {
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
Pull_None = 0,
|
Pull_None = 0,
|
||||||
Pull_Down = 1, // Are down and up the right way around?
|
Pull_Down = 2,
|
||||||
Pull_Up = 2
|
Pull_Up = 1
|
||||||
};
|
};
|
||||||
|
|
||||||
void mmio_write(long reg, unsigned int val) { *(volatile unsigned int *)reg = val; }
|
void mmio_write(long reg, unsigned int val) { *(volatile unsigned int *)reg = val; }
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
CFILES = $(wildcard *.c lib/*.c kernel/*.c net/*.c)
|
CFILES = $(wildcard *.c lib/*.c kernel/*.c net/*.c)
|
||||||
SFILES = $(wildcard boot/*.S lib/*.S kernel/*.S)
|
SFILES = $(wildcard boot/*.S lib/*.S kernel/*.S)
|
||||||
OFILES = $(CFILES:.c=.o) $(SFILES:.S=.o)
|
OFILES = $(CFILES:.c=.o) $(SFILES:.S=.o)
|
||||||
GCCFLAGS = -Wall -O0 -ffreestanding -nostdlib -nostartfiles
|
GCCFLAGS = -Wall -O2 -ffreestanding -nostartfiles -mstrict-align
|
||||||
GCCPATH = ../../gcc-arm-10.3-2021.07-x86_64-aarch64-none-elf/bin
|
GCCPATH = ../../arm-gnu-toolchain-13.2.Rel1-darwin-arm64-aarch64-none-elf/bin
|
||||||
|
|
||||||
all: clean kernel8.img
|
all: clean kernel8.img
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
extern unsigned int spin_cpu0;
|
extern unsigned long spin_cpu0;
|
||||||
extern unsigned int spin_cpu1;
|
extern unsigned long spin_cpu1;
|
||||||
extern unsigned int spin_cpu2;
|
extern unsigned long spin_cpu2;
|
||||||
extern unsigned int spin_cpu3;
|
extern unsigned long spin_cpu3;
|
||||||
|
|
||||||
void start_core1(void (*func)(void));
|
void start_core1(void (*func)(void));
|
||||||
void start_core2(void (*func)(void));
|
void start_core2(void (*func)(void));
|
||||||
|
|
|
@ -19,8 +19,8 @@ enum {
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
Pull_None = 0,
|
Pull_None = 0,
|
||||||
Pull_Down = 1, // Are down and up the right way around?
|
Pull_Down = 2,
|
||||||
Pull_Up = 2
|
Pull_Up = 1
|
||||||
};
|
};
|
||||||
|
|
||||||
void mmio_write(long reg, unsigned int val) { *(volatile unsigned int *)reg = val; }
|
void mmio_write(long reg, unsigned int val) { *(volatile unsigned int *)reg = val; }
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
CFILES = $(wildcard *.c lib/*.c kernel/*.c net/*.c tcpip/*.c)
|
CFILES = $(wildcard *.c lib/*.c kernel/*.c net/*.c tcpip/*.c)
|
||||||
SFILES = $(wildcard boot/*.S lib/*.S kernel/*.S)
|
SFILES = $(wildcard boot/*.S lib/*.S kernel/*.S)
|
||||||
OFILES = $(CFILES:.c=.o) $(SFILES:.S=.o)
|
OFILES = $(CFILES:.c=.o) $(SFILES:.S=.o)
|
||||||
GCCFLAGS = -Wall -O0 -ffreestanding -nostdlib -nostartfiles
|
GCCFLAGS = -Wall -O2 -ffreestanding -nostartfiles -mstrict-align
|
||||||
GCCPATH = ../../gcc-arm-10.3-2021.07-x86_64-aarch64-none-elf/bin
|
GCCPATH = ../../arm-gnu-toolchain-13.2.Rel1-darwin-arm64-aarch64-none-elf/bin
|
||||||
|
|
||||||
all: clean kernel8.img
|
all: clean kernel8.img
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
extern unsigned int spin_cpu0;
|
extern unsigned long spin_cpu0;
|
||||||
extern unsigned int spin_cpu1;
|
extern unsigned long spin_cpu1;
|
||||||
extern unsigned int spin_cpu2;
|
extern unsigned long spin_cpu2;
|
||||||
extern unsigned int spin_cpu3;
|
extern unsigned long spin_cpu3;
|
||||||
|
|
||||||
void start_core1(void (*func)(void));
|
void start_core1(void (*func)(void));
|
||||||
void start_core2(void (*func)(void));
|
void start_core2(void (*func)(void));
|
||||||
|
|
|
@ -19,8 +19,8 @@ enum {
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
Pull_None = 0,
|
Pull_None = 0,
|
||||||
Pull_Down = 1, // Are down and up the right way around?
|
Pull_Down = 2,
|
||||||
Pull_Up = 2
|
Pull_Up = 1
|
||||||
};
|
};
|
||||||
|
|
||||||
void mmio_write(long reg, unsigned int val) { *(volatile unsigned int *)reg = val; }
|
void mmio_write(long reg, unsigned int val) { *(volatile unsigned int *)reg = val; }
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
CFILES = $(wildcard *.c)
|
CFILES = $(wildcard *.c)
|
||||||
OFILES = $(CFILES:.c=.o)
|
OFILES = $(CFILES:.c=.o)
|
||||||
GCCFLAGS = -Wall -O2 -ffreestanding -nostdinc -nostdlib -nostartfiles
|
GCCFLAGS = -Wall -O2 -ffreestanding -nostdinc -nostdlib -nostartfiles -mstrict-align
|
||||||
GCCPATH = ../../gcc-arm-10.3-2021.07-x86_64-aarch64-none-elf/bin
|
GCCPATH = ../../arm-gnu-toolchain-13.2.Rel1-darwin-arm64-aarch64-none-elf/bin
|
||||||
|
|
||||||
all: clean kernel8.img
|
all: clean kernel8.img
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
CFILES = $(wildcard *.c)
|
CFILES = $(wildcard *.c)
|
||||||
OFILES = $(CFILES:.c=.o)
|
OFILES = $(CFILES:.c=.o)
|
||||||
GCCFLAGS = -Wall -O2 -ffreestanding -nostdinc -nostdlib -nostartfiles
|
GCCFLAGS = -Wall -O2 -ffreestanding -nostdinc -nostdlib -nostartfiles -mstrict-align
|
||||||
GCCPATH = ../../gcc-arm-10.3-2021.07-x86_64-aarch64-none-elf/bin
|
GCCPATH = ../../arm-gnu-toolchain-13.2.Rel1-darwin-arm64-aarch64-none-elf/bin
|
||||||
|
|
||||||
all: clean kernel8.img
|
all: clean kernel8.img
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
CFILES = $(wildcard *.c)
|
CFILES = $(wildcard *.c)
|
||||||
OFILES = $(CFILES:.c=.o)
|
OFILES = $(CFILES:.c=.o)
|
||||||
GCCFLAGS = -Wall -O2 -ffreestanding -nostdinc -nostdlib -nostartfiles
|
GCCFLAGS = -Wall -O2 -ffreestanding -nostdinc -nostdlib -nostartfiles -mstrict-align
|
||||||
GCCPATH = ../../gcc-arm-10.3-2021.07-x86_64-aarch64-none-elf/bin
|
GCCPATH = ../../arm-gnu-toolchain-13.2.Rel1-darwin-arm64-aarch64-none-elf/bin
|
||||||
|
|
||||||
all: clean kernel8.img
|
all: clean kernel8.img
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,8 @@ enum {
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
Pull_None = 0,
|
Pull_None = 0,
|
||||||
Pull_Down = 1, // Are down and up the right way around?
|
Pull_Down = 2,
|
||||||
Pull_Up = 2
|
Pull_Up = 1
|
||||||
};
|
};
|
||||||
|
|
||||||
void mmio_write(long reg, unsigned int val) { *(volatile unsigned int *)reg = val; }
|
void mmio_write(long reg, unsigned int val) { *(volatile unsigned int *)reg = val; }
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
CFILES = $(wildcard *.c)
|
CFILES = $(wildcard *.c)
|
||||||
OFILES = $(CFILES:.c=.o)
|
OFILES = $(CFILES:.c=.o)
|
||||||
GCCFLAGS = -Wall -O2 -ffreestanding -nostdinc -nostdlib -nostartfiles
|
GCCFLAGS = -Wall -O2 -ffreestanding -nostdinc -nostdlib -nostartfiles -mstrict-align
|
||||||
GCCPATH = ../../gcc-arm-10.3-2021.07-x86_64-aarch64-none-elf/bin
|
GCCPATH = ../../arm-gnu-toolchain-13.2.Rel1-darwin-arm64-aarch64-none-elf/bin
|
||||||
|
|
||||||
all: clean kernel8.img
|
all: clean kernel8.img
|
||||||
|
|
||||||
|
|
|
@ -18,8 +18,8 @@ enum {
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
Pull_None = 0,
|
Pull_None = 0,
|
||||||
Pull_Down = 1, // Are down and up the right way around?
|
Pull_Down = 2,
|
||||||
Pull_Up = 2
|
Pull_Up = 1
|
||||||
};
|
};
|
||||||
|
|
||||||
void mmio_write(long reg, unsigned int val) { *(volatile unsigned int *)reg = val; }
|
void mmio_write(long reg, unsigned int val) { *(volatile unsigned int *)reg = val; }
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
CFILES = $(wildcard *.c)
|
CFILES = $(wildcard *.c)
|
||||||
OFILES = $(CFILES:.c=.o)
|
OFILES = $(CFILES:.c=.o)
|
||||||
GCCFLAGS = -Wall -O2 -ffreestanding -nostdinc -nostdlib -nostartfiles
|
GCCFLAGS = -Wall -O2 -ffreestanding -nostdinc -nostdlib -nostartfiles -mstrict-align
|
||||||
GCCPATH = ../../gcc-arm-10.3-2021.07-x86_64-aarch64-none-elf/bin
|
GCCPATH = ../../arm-gnu-toolchain-13.2.Rel1-darwin-arm64-aarch64-none-elf/bin
|
||||||
|
|
||||||
all: clean kernel8.img
|
all: clean kernel8.img
|
||||||
|
|
||||||
|
|
|
@ -18,8 +18,8 @@ enum {
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
Pull_None = 0,
|
Pull_None = 0,
|
||||||
Pull_Down = 1, // Are down and up the right way around?
|
Pull_Down = 2,
|
||||||
Pull_Up = 2
|
Pull_Up = 1
|
||||||
};
|
};
|
||||||
|
|
||||||
void mmio_write(long reg, unsigned int val) { *(volatile unsigned int *)reg = val; }
|
void mmio_write(long reg, unsigned int val) { *(volatile unsigned int *)reg = val; }
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
CFILES = $(wildcard *.c)
|
CFILES = $(wildcard *.c)
|
||||||
OFILES = $(CFILES:.c=.o)
|
OFILES = $(CFILES:.c=.o)
|
||||||
GCCFLAGS = -Wall -O2 -ffreestanding -nostdinc -nostdlib -nostartfiles
|
GCCFLAGS = -Wall -O2 -ffreestanding -nostdinc -nostdlib -nostartfiles -mstrict-align
|
||||||
GCCPATH = ../../gcc-arm-10.3-2021.07-x86_64-aarch64-none-elf/bin
|
GCCPATH = ../../arm-gnu-toolchain-13.2.Rel1-darwin-arm64-aarch64-none-elf/bin
|
||||||
|
|
||||||
all: clean kernel8.img
|
all: clean kernel8.img
|
||||||
|
|
||||||
|
|
|
@ -18,8 +18,8 @@ enum {
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
Pull_None = 0,
|
Pull_None = 0,
|
||||||
Pull_Down = 1, // Are down and up the right way around?
|
Pull_Down = 2,
|
||||||
Pull_Up = 2
|
Pull_Up = 1
|
||||||
};
|
};
|
||||||
|
|
||||||
void mmio_write(long reg, unsigned int val) { *(volatile unsigned int *)reg = val; }
|
void mmio_write(long reg, unsigned int val) { *(volatile unsigned int *)reg = val; }
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
CFILES = $(wildcard *.c)
|
CFILES = $(wildcard *.c)
|
||||||
OFILES = $(CFILES:.c=.o)
|
OFILES = $(CFILES:.c=.o)
|
||||||
GCCFLAGS = -Wall -O2 -ffreestanding -nostdinc -nostdlib -nostartfiles
|
GCCFLAGS = -Wall -O2 -ffreestanding -nostdinc -nostdlib -nostartfiles -mstrict-align
|
||||||
GCCPATH = ../../gcc-arm-10.3-2021.07-x86_64-aarch64-none-elf/bin
|
GCCPATH = ../../arm-gnu-toolchain-13.2.Rel1-darwin-arm64-aarch64-none-elf/bin
|
||||||
|
|
||||||
all: clean kernel8.img
|
all: clean kernel8.img
|
||||||
|
|
||||||
|
|
|
@ -1,22 +0,0 @@
|
||||||
CFILES = $(wildcard *.c)
|
|
||||||
OFILES = $(CFILES:.c=.o)
|
|
||||||
GCCFLAGS = -Wall -O2 -ffreestanding -nostdinc -nostdlib -nostartfiles
|
|
||||||
GCCPATH = ..\..\gcc-arm-10.2-2020.11-mingw-w64-i686-aarch64-none-elf\bin
|
|
||||||
|
|
||||||
all: clean kernel8.img
|
|
||||||
|
|
||||||
boot.o: boot.S
|
|
||||||
$(GCCPATH)\aarch64-none-elf-gcc $(GCCFLAGS) -c boot.S -o boot.o
|
|
||||||
|
|
||||||
BCM4345C0.o : BCM4345C0.hcd
|
|
||||||
$(GCCPATH)\aarch64-none-elf-objcopy -I binary -O elf64-littleaarch64 -B aarch64 $< $@
|
|
||||||
|
|
||||||
%.o: %.c
|
|
||||||
$(GCCPATH)\aarch64-none-elf-gcc $(GCCFLAGS) -c $< -o $@
|
|
||||||
|
|
||||||
kernel8.img: boot.o $(OFILES) BCM4345C0.o
|
|
||||||
$(GCCPATH)\aarch64-none-elf-ld -nostdlib boot.o $(OFILES) BCM4345C0.o -T link.ld -o kernel8.elf
|
|
||||||
$(GCCPATH)\aarch64-none-elf-objcopy -O binary kernel8.elf kernel8.img
|
|
||||||
|
|
||||||
clean:
|
|
||||||
del kernel8.elf *.o *.img
|
|
|
@ -18,8 +18,8 @@ enum {
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
Pull_None = 0,
|
Pull_None = 0,
|
||||||
Pull_Down = 1, // Are down and up the right way around?
|
Pull_Down = 2,
|
||||||
Pull_Up = 2
|
Pull_Up = 1
|
||||||
};
|
};
|
||||||
|
|
||||||
void mmio_write(long reg, unsigned int val) { *(volatile unsigned int *)reg = val; }
|
void mmio_write(long reg, unsigned int val) { *(volatile unsigned int *)reg = val; }
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
CFILES = $(wildcard *.c)
|
CFILES = $(wildcard *.c)
|
||||||
OFILES = $(CFILES:.c=.o)
|
OFILES = $(CFILES:.c=.o)
|
||||||
GCCFLAGS = -Wall -O2 -ffreestanding -nostdinc -nostdlib -nostartfiles
|
GCCFLAGS = -Wall -O2 -ffreestanding -nostdinc -nostdlib -nostartfiles -mstrict-align
|
||||||
GCCPATH = ../../gcc-arm-10.3-2021.07-x86_64-aarch64-none-elf/bin
|
GCCPATH = ../../arm-gnu-toolchain-13.2.Rel1-darwin-arm64-aarch64-none-elf/bin
|
||||||
|
|
||||||
all: clean kernel8.img
|
all: clean kernel8.img
|
||||||
|
|
||||||
|
|
|
@ -19,8 +19,8 @@ enum {
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
Pull_None = 0,
|
Pull_None = 0,
|
||||||
Pull_Down = 1, // Are down and up the right way around?
|
Pull_Down = 2,
|
||||||
Pull_Up = 2
|
Pull_Up = 1
|
||||||
};
|
};
|
||||||
|
|
||||||
void mmio_write(long reg, unsigned int val) { *(volatile unsigned int *)reg = val; }
|
void mmio_write(long reg, unsigned int val) { *(volatile unsigned int *)reg = val; }
|
||||||
|
|
Loading…
Reference in a new issue