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.
This commit is contained in:
Peter Wemm 2002-05-11 21:39:59 +00:00
parent d07160f401
commit 7a163a83da
4 changed files with 14 additions and 2 deletions

View File

@ -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) }' \

View File

@ -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);

View File

@ -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) }' \

View File

@ -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);