OBJS = $(COBJS) $(AOBJS) $(DOBJS) $(DISCARD_DOBJS) $(NOBJS)
-JUNK = $(CSRCS:.c=.lst) $(CSRCS:.c=.asm) $(CSRCS:.c=.sym) $(ASRCS:.s=.lst) $(ASRCS:.s=.sym) $(CSRCS:.c=.rst) $(ASRCS:.s=.rst)
-
all: $(OBJS)
$(COBJS): %.rel: %.c
$(CROSS_CC) $(CROSS_CCOPTS) -c $<
clean:
- rm -f $(OBJS) $(JUNK) core *~
+ rm -f $(OBJS) *.lst *.asm *.sym *.rst *.lk core *~
image:
#define NBUFS 6 /* Number of block buffers */
#define NMOUNTS 2 /* Number of mounts at a time */
+#define CONFIG_LARGE_IO_DIRECT
#define swap_map(x) (uint8_t *)(0x4000 + ((x) & 0x3FFF)) /* For now */
}
/* Called to set baud rate etc */
-void tty_setup(uint8_t minor)
+void tty_setup(uint8_t minor, uint8_t flags)
{
minor;
}
#ifndef __DEVTTY_DOT_H__
#define __DEVTTY_DOT_H__
-void tty_putc(uint8_t minor, char c);
void tty_init_port(void);
void tty_irq(void);
.globl map_kernel
.globl map_process
.globl map_process_always
+ .globl map_kernel_di
+ .globl map_process_di
+ .globl map_process_always_di
.globl _need_resched
- .globl map_save
+ .globl _int_disabled
+ .globl map_save_kernel
.globl map_restore
.globl map_for_swap
.globl platform_interrupt_all
kmap: .db 0x80, 0x81, 0x82, 0x83
map_kernel:
+map_kernel_di:
push af
push hl
ld hl, #kmap
ret
map_process_always:
+map_process_always_di:
push af
push hl
ld hl, #U_DATA__U_PAGE
ret
map_process:
+map_process_di:
ld a, h
or l
jr z, map_kernel
ei
ret
-map_save: push hl
+map_save_kernel:
+ push hl
push de
push bc
ld hl, #map_current
ldi
ldi
ldi
+ push af
+ ld hl, #kmap
+ call map_process_1
+ pop af
pop bc
pop de
pop hl
_need_resched:
.db 0
+
+_int_disabled:
+ .db 1
+
.globl map_process
.globl map_kernel
.globl _swapper
+ .globl _int_disabled
; imported debug symbols
.globl outstring, outde, outhl, outbc, outnewline, outchar, outcharhex
; enable interrupts, if the ISR isn't already running
ld a, (U_DATA__U_ININTERRUPT)
+ ld (_int_disabled),a
or a
ret nz ; in ISR, leave interrupts off
ei