diff options
author | peter <peter@FreeBSD.org> | 2002-05-11 21:39:59 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 2002-05-11 21:39:59 +0000 |
commit | f9b8106499856cbe85fa205e4448f0bf10b4cf48 (patch) | |
tree | d97d7d03416459d900f0003d0bbad4a4ddc09aa5 | |
parent | 9b110cfade29b1b5f79ac073d1939f8dde64487e (diff) | |
download | FreeBSD-src-f9b8106499856cbe85fa205e4448f0bf10b4cf48.zip FreeBSD-src-f9b8106499856cbe85fa205e4448f0bf10b4cf48.tar.gz |
Use a crowbar and duct-tape to make boot2 fit again. This gets it down
to 4 bytes free. I removed a printf (the Keyboard yes/no) since it is of
marginal value and sed'ed the generated asm output to remove the unwanted
aligns. There's probably a better way to gain a few extra bytes than
losing the printf. Shortening strings is probably a better option but this
should get us over the hurdle.
-rw-r--r-- | sys/boot/i386/boot2/Makefile | 6 | ||||
-rw-r--r-- | sys/boot/i386/boot2/boot2.c | 2 | ||||
-rw-r--r-- | sys/boot/i386/gptboot/Makefile | 6 | ||||
-rw-r--r-- | sys/boot/i386/gptboot/gptboot.c | 2 |
4 files changed, 14 insertions, 2 deletions
diff --git a/sys/boot/i386/boot2/Makefile b/sys/boot/i386/boot2/Makefile index 12fa148..8cb5dd3 100644 --- a/sys/boot/i386/boot2/Makefile +++ b/sys/boot/i386/boot2/Makefile @@ -48,6 +48,12 @@ boot1.out: boot1.o boot1.o: boot1.s ${AS} ${AFLAGS} --defsym FLAGS=${B1FLAGS} ${.IMPSRC} -o ${.TARGET} +boot2.o: boot2.c + ${CC} ${CFLAGS} -S -o boot2.s.tmp ${.IMPSRC} + sed -e '/align/d' -e '/nop/d' < boot2.s.tmp > boot2.s + rm -f boot2.s.tmp + ${AS} ${AFLAGS} -o boot2.o boot2.s + boot2.h: boot1.out ${NM} -t d ${.ALLSRC} | awk '/([0-9])+ T xread/ \ { x = $$1 - ORG1; printf("#define XREADORG 0x7%x\n", x) }' \ diff --git a/sys/boot/i386/boot2/boot2.c b/sys/boot/i386/boot2/boot2.c index 68aa057..849bd22 100644 --- a/sys/boot/i386/boot2/boot2.c +++ b/sys/boot/i386/boot2/boot2.c @@ -456,7 +456,7 @@ parse(char *arg) } if (opts & 1 << RBX_PROBEKBD) { i = *(uint8_t *)PTOV(0x496) & 0x10; - printf("Keyboard: %s\n", i ? "yes" : "no"); + /* printf("Keyboard: %s\n", i ? "yes" : "no"); XXX GCC31 size */ if (!i) opts |= 1 << RBX_DUAL | 1 << RBX_SERIAL; opts &= ~(1 << RBX_PROBEKBD); diff --git a/sys/boot/i386/gptboot/Makefile b/sys/boot/i386/gptboot/Makefile index 12fa148..8cb5dd3 100644 --- a/sys/boot/i386/gptboot/Makefile +++ b/sys/boot/i386/gptboot/Makefile @@ -48,6 +48,12 @@ boot1.out: boot1.o boot1.o: boot1.s ${AS} ${AFLAGS} --defsym FLAGS=${B1FLAGS} ${.IMPSRC} -o ${.TARGET} +boot2.o: boot2.c + ${CC} ${CFLAGS} -S -o boot2.s.tmp ${.IMPSRC} + sed -e '/align/d' -e '/nop/d' < boot2.s.tmp > boot2.s + rm -f boot2.s.tmp + ${AS} ${AFLAGS} -o boot2.o boot2.s + boot2.h: boot1.out ${NM} -t d ${.ALLSRC} | awk '/([0-9])+ T xread/ \ { x = $$1 - ORG1; printf("#define XREADORG 0x7%x\n", x) }' \ diff --git a/sys/boot/i386/gptboot/gptboot.c b/sys/boot/i386/gptboot/gptboot.c index 68aa057..849bd22 100644 --- a/sys/boot/i386/gptboot/gptboot.c +++ b/sys/boot/i386/gptboot/gptboot.c @@ -456,7 +456,7 @@ parse(char *arg) } if (opts & 1 << RBX_PROBEKBD) { i = *(uint8_t *)PTOV(0x496) & 0x10; - printf("Keyboard: %s\n", i ? "yes" : "no"); + /* printf("Keyboard: %s\n", i ? "yes" : "no"); XXX GCC31 size */ if (!i) opts |= 1 << RBX_DUAL | 1 << RBX_SERIAL; opts &= ~(1 << RBX_PROBEKBD); |