From 53de5bb9ca90cd228c4e629f716e43c209a54c4c Mon Sep 17 00:00:00 2001 From: Alan Cox Date: Tue, 6 Jan 2015 21:34:50 +0000 Subject: [PATCH] Tidy up the DISCARD hack --- Kernel/cpu-z80/cpu.h | 1 + Kernel/dev/devsd.c | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/Kernel/cpu-z80/cpu.h b/Kernel/cpu-z80/cpu.h index 183376a1..6e1d0fdf 100644 --- a/Kernel/cpu-z80/cpu.h +++ b/Kernel/cpu-z80/cpu.h @@ -58,4 +58,5 @@ typedef union { /* this structure is endian dependent */ #define cpu_to_le16(x) (x) #define le16_to_cpu(x) (x) +#define DISCARDABLE static void DISCARDSEG(void) __naked { __asm .area _DISCARD __endasm; } #endif diff --git a/Kernel/dev/devsd.c b/Kernel/dev/devsd.c index e8df58f8..238c664e 100644 --- a/Kernel/dev/devsd.c +++ b/Kernel/dev/devsd.c @@ -174,7 +174,8 @@ static int sd_send_command(uint8_t drive, unsigned char cmd, uint32_t arg) /* in the DISCARD segment. sdcc only allows us to specify one segment for */ /* each source file. This "solution" is a bit (well, very) hacky ... */ /****************************************************************************/ -static void DISCARDSEG(void) __naked { __asm .area _DISCARD __endasm; } + +DISCARDABLE void devsd_init(void) { -- 2.34.1