From c0ff8c3922de8b6d6fc3bc8187d8f48152974cf9 Mon Sep 17 00:00:00 2001 From: Alan Cox Date: Mon, 26 Nov 2018 12:02:54 +0000 Subject: [PATCH] zxdiv: move the MMC and IDE drivers into dev/zx We can share a lot of ZX variant stuff so plan accordingly --- Kernel/{platform-zxdiv => dev/zx}/divide.c | 0 Kernel/{platform-zxdiv => dev/zx}/divmmc.c | 0 Kernel/platform-zxdiv/Makefile | 14 ++++++++++++-- Kernel/platform-zxdiv/README | 1 + 4 files changed, 13 insertions(+), 2 deletions(-) rename Kernel/{platform-zxdiv => dev/zx}/divide.c (100%) rename Kernel/{platform-zxdiv => dev/zx}/divmmc.c (100%) diff --git a/Kernel/platform-zxdiv/divide.c b/Kernel/dev/zx/divide.c similarity index 100% rename from Kernel/platform-zxdiv/divide.c rename to Kernel/dev/zx/divide.c diff --git a/Kernel/platform-zxdiv/divmmc.c b/Kernel/dev/zx/divmmc.c similarity index 100% rename from Kernel/platform-zxdiv/divmmc.c rename to Kernel/dev/zx/divmmc.c diff --git a/Kernel/platform-zxdiv/Makefile b/Kernel/platform-zxdiv/Makefile index aab649d7..578fe860 100644 --- a/Kernel/platform-zxdiv/Makefile +++ b/Kernel/platform-zxdiv/Makefile @@ -1,7 +1,9 @@ -CSRCS = devtty.c devices.c main.c bank128.c divide.c divmmc.c devinput.c +CSRCS = devtty.c devices.c main.c bank128.c devinput.c CDSRCS = discard.c DSRCS = ../dev/devide.c ../dev/devsd.c ../dev/blkdev.c DDSRCS = ../dev/devide_discard.c ../dev/devsd_discard.c ../dev/mbr.c +DZSRCS = ../dev/zx/divide.c ../dev/zx/divmmc.c +DDZSRCS = ASRCS = crt0.s zx128.s zxvideo.s ASRCS += tricks.s commonmem.s loader-divide.s @@ -10,7 +12,9 @@ CDOBJS = $(CDSRCS:.c=.rel) AOBJS = $(ASRCS:.s=.rel) DOBJS = $(patsubst ../dev/%.c,%.rel, $(DSRCS)) DDOBJS = $(patsubst ../dev/%.c,%.rel, $(DDSRCS)) -OBJS = $(COBJS) $(CDOBJS) $(AOBJS) $(DOBJS) $(DDOBJS) +DZOBJS = $(patsubst ../dev/zx/%.c,%.rel, $(DZSRCS)) +DDZOBJS = $(patsubst ../dev/zx/%.c,%.rel, $(DDZSRCS)) +OBJS = $(COBJS) $(CDOBJS) $(AOBJS) $(DOBJS) $(DDOBJS) $(DZOBJS) $(DDZOBJS) CROSS_CCOPTS += -I../dev/ @@ -30,6 +34,12 @@ $(DOBJS): %.rel: ../dev/%.c $(DDOBJS): %.rel: ../dev/%.c $(CROSS_CC) $(CROSS_CCOPTS) $(CROSS_CC_SEGDISC) -c $< +$(DZOBJS): %.rel: ../dev/zx/%.c + $(CROSS_CC) $(CROSS_CCOPTS) $(CROSS_CC_SEG3) -c $< + +$(DDZOBJS): %.rel: ../dev/zx/%.c + $(CROSS_CC) $(CROSS_CCOPTS) $(CROSS_CC_SEGDISC) -c $< + $(AOBJS): %.rel: %.s $(CROSS_AS) $(ASOPTS) $< diff --git a/Kernel/platform-zxdiv/README b/Kernel/platform-zxdiv/README index 97e01640..ae05007b 100644 --- a/Kernel/platform-zxdiv/README +++ b/Kernel/platform-zxdiv/README @@ -72,6 +72,7 @@ To Do: Right now we ldir in one case (could be faster abusing stack), and the exchange case could be made much much faster using registers and stack tricks not bounce buffers +- Enable interrupts during swap - Look at what is needed for other suitable interfaces. DIVMMC would in particular be good to support but that means another harder bootloader hack -- 2.34.1