From 214148980a940b2b682c5f792ca7c2963e1c0a4b Mon Sep 17 00:00:00 2001
From: "antnh6@gmail.com" <antnh6@gmail.com>
Date: Sun, 20 May 2018 12:28:05 -0400
Subject: [PATCH] scrapped most of libsrc, restructured code

---
 src/Makefile                 |  29 +-
 src/libsrc/Makefile          |  57 --
 src/libsrc/MakefileOG        |  44 --
 src/libsrc/bwio.a            | Bin 5592 -> 0 bytes
 src/libsrc/bwio.c            | 257 ---------
 src/libsrc/bwio.o            | Bin 5288 -> 0 bytes
 src/libsrc/bwio.s            | 982 -----------------------------------
 src/libsrc/scheduler.c       |  13 -
 src/libsrc/task-descriptor.c |  14 -
 9 files changed, 25 insertions(+), 1371 deletions(-)
 delete mode 100644 src/libsrc/Makefile
 delete mode 100644 src/libsrc/MakefileOG
 delete mode 100644 src/libsrc/bwio.a
 delete mode 100644 src/libsrc/bwio.c
 delete mode 100644 src/libsrc/bwio.o
 delete mode 100644 src/libsrc/bwio.s
 delete mode 100644 src/libsrc/scheduler.c
 delete mode 100644 src/libsrc/task-descriptor.c

diff --git a/src/Makefile b/src/Makefile
index fa86287..1cb6bbd 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -17,19 +17,40 @@ ASFLAGS	= -mcpu=arm920t -mapcs-32
 
 ARFLAGS = rcs
 
-LDFLAGS = -init main -Map main.map -N -T orex.ld -L/u/wbcowan/gnuarm-4.0.2/lib/gcc/arm-elf/4.0.2 -L../lib
+LDFLAGS = -init main -N -T orex.ld -L/u/wbcowan/gnuarm-4.0.2/lib/gcc/arm-elf/4.0.2 -L../lib
 
-all: main.elf
+all: main.s main.elf
 
 main.s: main.c
 	$(XCC) -S $(CFLAGS) main.c
 
+scheduler.s: scheduler.c
+	$(XCC) -S $(CFLAGS) scheduler.c
+
+task-descriptor.s: task-descriptor.c
+	$(XCC) -S $(CFLAGS) task-descriptor.c 
+
+bwio.s: bwio.c
+	$(XCC) -S $(CFLAGS) bwio.c
+
+
 main.o: main.s
 	$(AS) $(ASFLAGS) -o main.o main.s
 
-main.elf: main.o
-	$(LD) $(LDFLAGS) -o $@ main.o -ltask-descriptor -lscheduler -lbwio -lgcc
+scheduler.o: scheduler.s
+	$(AS) $(ASFLAGS) -o scheduler.o scheduler.s
+
+task-descriptor.o: task-descriptor.s
+	$(AS) $(ASFLAGS) -o task-descriptor.o task-descriptor.s
+
+bwio.o: bwio.s
+	$(AS) $(ASFLAGS) -o bwio.o bwio.s
 
 clean:
 	-rm -f *.elf *.s *.o *.a *~ ../../lib/*.a
 
+main.elf: main.o scheduler.o task-descriptor.o scheduler.o bwio.o
+	$(LD) $(LDFLAGS) -o $@ main.o scheduler.o task-descriptor.o scheduler.o bwio.o  -lgcc #-lbwio
+
+clean:
+	-rm -f *.elf *.s *.o *.map 
\ No newline at end of file
diff --git a/src/libsrc/Makefile b/src/libsrc/Makefile
deleted file mode 100644
index 8863348..0000000
--- a/src/libsrc/Makefile
+++ /dev/null
@@ -1,57 +0,0 @@
-# Makefile for busy-wait IO tests
-#
-XCC 	= /u/wbcowan/gnuarm-4.0.2/arm-elf/bin/gcc
-AS	= /u/wbcowan/gnuarm-4.0.2/arm-elf/bin/as
-AR	= /u/wbcowan/gnuarm-4.0.2/arm-elf/bin/ar
-CFLAGS  = -c -fPIC -Wall -I. -I../../include -mcpu=arm920t -msoft-float
-# -g: include hooks for gdb
-# -c: only compile
-# -mcpu=arm920t: generate code for the 920t architecture
-# -fpic: emit position-independent code
-# -Wall: report all warnings
-
-ASFLAGS	= -mcpu=arm920t -mapcs-32
-# -mapcs: always generate a complete stack frame
-
-ARFLAGS = rcs
-
-TARGET = bwio scheduler task-descriptor
-all: $(TARGET)
-
-$(TARGET): $(TARGET).c
-	$(XCC) $(CFLAGS) -o $(TARGET) $(TARGET).c
-
-scheduler.s: scheduler.c
-	$(XCC) -S $(CFLAGS) scheduler.c
-
-task-descriptor.s: task-descriptor.c
-	$(XCC) -S $(CFLAGS) task-descriptor.c 
-
-bwio.s: bwio.c
-	$(XCC) -S $(CFLAGS) bwio.c
-
-scheduler.o: scheduler.s
-	$(AS) $(ASFLAGS) -o scheduler.o scheduler.s
-
-task-descriptor.o: task-descriptor.s
-	$(AS) $(ASFLAGS) -o task-descriptor.o task-descriptor.s
-
-bwio.o: bwio.s
-	$(AS) $(ASFLAGS) -o bwio.o bwio.s
-
-scheduler.a: scheduler.o
-	$(AR) $(ARFLAGS) $@ scheduler.o
-
-task-descriptor.a: task-descriptor.o
-	$(AR) $(ARFLAGS) $@ task-descriptor.o
-
-bwio.a: bwio.o
-	$(AR) $(ARFLAGS) $@ bwio.o
-
-install: bwio.a task-descriptor.a scheduler.a
-	mv bwio.a ../../lib/libbwio.a
-	mv task-descriptor.a ../../lib/libtaskdescriptor.a
-	mv scheduler.a ../../lib/libscheduler.a
-
-clean:
-	-rm -f *.s *.o *.a *~ ../../lib/*.a
diff --git a/src/libsrc/MakefileOG b/src/libsrc/MakefileOG
deleted file mode 100644
index a5f2290..0000000
--- a/src/libsrc/MakefileOG
+++ /dev/null
@@ -1,44 +0,0 @@
-# Makefile for busy-wait IO tests
-#
-XCC     = /u/wbcowan/gnuarm-4.0.2/arm-elf/bin/gcc
-AS	= /u/wbcowan/gnuarm-4.0.2/arm-elf/bin/as
-AR	= /u/wbcowan/gnuarm-4.0.2/arm-elf/bin/ar
-CFLAGS  = -c -fPIC -Wall -I. -I../../include -mcpu=arm920t -msoft-float
-# -g: include hooks for gdb
-# -c: only compile
-# -mcpu=arm920t: generate code for the 920t architecture
-# -fpic: emit position-independent code
-# -Wall: report all warnings
-
-ASFLAGS	= -mcpu=arm920t -mapcs-32
-# -mapcs: always generate a complete stack frame
-
-ARFLAGS = rcs
-
-all: bwio.a
-
-
-buffer.s: buffer.c
-	$(XCC) -S $(CFLAGS) buffer.c
-
-bwio.s: bwio.c
-	$(XCC) -S $(CFLAGS) bwio.c
-
-buffer.o: buffer.s
-	$(AS) $(ASFLAGS) -o buffer.o buffer.s
-
-bwio.o: bwio.s
-	$(AS) $(ASFLAGS) -o bwio.o bwio.s
-
-buffer.a: buffer.o
-	$(AR) $(ARFLAGS) $@ buffer.o
-
-bwio.a: bwio.o
-	$(AR) $(ARFLAGS) $@ bwio.o
-
-install: bwio.a  buffer.a
-	mv bwio.a ../../lib/libbwio.a
-	mv buffer.a ../../lib/libbuffer.a
-
-clean:
-	-rm -f *.s *.o *.a *~ ../../lib/*.a
diff --git a/src/libsrc/bwio.a b/src/libsrc/bwio.a
deleted file mode 100644
index d86d70ea81123a029983dfa5eb4a32fe52b59840..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 5592
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

diff --git a/src/libsrc/bwio.c b/src/libsrc/bwio.c
deleted file mode 100644
index dcb1318..0000000
--- a/src/libsrc/bwio.c
+++ /dev/null
@@ -1,257 +0,0 @@
-/*
- * bwio.c - busy-wait I/O routines for diagnosis
- *
- * Specific to the TS-7200 ARM evaluation board
- *
- */
-
-#include <ts7200.h>
-#include <bwio.h>
-
-/*
- * The UARTs are initialized by RedBoot to the following state
- * 	115,200 bps
- * 	8 bits
- * 	no parity
- * 	fifos enabled
- */
-int bwsetfifo( int channel, int state ) {
-	int *line, buf;
-	switch( channel ) {
-	case COM1:
-		line = (int *)( UART1_BASE + UART_LCRH_OFFSET );
-	        break;
-	case COM2:
-	        line = (int *)( UART2_BASE + UART_LCRH_OFFSET );
-	        break;
-	default:
-	        return -1;
-	        break;
-	}
-	buf = *line;
-	buf = state ? buf | FEN_MASK : buf & ~FEN_MASK;
-	*line = buf;
-	return 0;
-}
-
-int bwsetspeed( int channel, int speed ) {
-	int *high, *low;
-	switch( channel ) {
-	case COM1:
-		high = (int *)( UART1_BASE + UART_LCRM_OFFSET );
-		low = (int *)( UART1_BASE + UART_LCRL_OFFSET );
-	        break;
-	case COM2:
-		high = (int *)( UART2_BASE + UART_LCRM_OFFSET );
-		low = (int *)( UART2_BASE + UART_LCRL_OFFSET );
-	        break;
-	default:
-	        return -1;
-	        break;
-	}
-	switch( speed ) {
-	case 115200:
-		*high = 0x0;
-		*low = 0x3;
-		return 0;
-	case 2400:
-		*high = 0x0;
-		*low = 0xbf;
-		return 0;
-	default:
-		return -1;
-	}
-}
-
-int bwputc( int channel, char c ) {
-	int *flags, *data;
-	switch( channel ) {
-	case COM1:
-		flags = (int *)( UART1_BASE + UART_FLAG_OFFSET );
-		data = (int *)( UART1_BASE + UART_DATA_OFFSET );
-		break;
-	case COM2:
-		flags = (int *)( UART2_BASE + UART_FLAG_OFFSET );
-		data = (int *)( UART2_BASE + UART_DATA_OFFSET );
-		break;
-	default:
-		return -1;
-		break;
-	}
-	while( ( *flags & TXFF_MASK ) ) ;
-	*data = c;
-	return 0;
-}
-
-char c2x( char ch ) {
-	if ( (ch <= 9) ) return '0' + ch;
-	return 'a' + ch - 10;
-}
-
-int bwputx( int channel, char c ) {
-	char chh, chl;
-
-	chh = c2x( c / 16 );
-	chl = c2x( c % 16 );
-	bwputc( channel, chh );
-	return bwputc( channel, chl );
-}
-
-int bwputr( int channel, unsigned int reg ) {
-	int byte;
-	char *ch = (char *) &reg;
-
-	for( byte = 3; byte >= 0; byte-- ) bwputx( channel, ch[byte] );
-	return bwputc( channel, ' ' );
-}
-
-int bwputstr( int channel, char *str ) {
-	while( *str ) {
-		if( bwputc( channel, *str ) < 0 ) return -1;
-		str++;
-	}
-	return 0;
-}
-
-void bwputw( int channel, int n, char fc, char *bf ) {
-	char ch;
-	char *p = bf;
-
-	while( *p++ && n > 0 ) n--;
-	while( n-- > 0 ) bwputc( channel, fc );
-	while( ( ch = *bf++ ) ) bwputc( channel, ch );
-}
-
-int bwgetc( int channel ) {
-	int *flags, *data;
-	unsigned char c;
-
-	switch( channel ) {
-	case COM1:
-		flags = (int *)( UART1_BASE + UART_FLAG_OFFSET );
-		data = (int *)( UART1_BASE + UART_DATA_OFFSET );
-		break;
-	case COM2:
-		flags = (int *)( UART2_BASE + UART_FLAG_OFFSET );
-		data = (int *)( UART2_BASE + UART_DATA_OFFSET );
-		break;
-	default:
-		return -1;
-		break;
-	}
-	while ( !( *flags & RXFF_MASK ) ) ;
-	c = *data;
-	return c;
-}
-
-int bwa2d( char ch ) {
-	if( ch >= '0' && ch <= '9' ) return ch - '0';
-	if( ch >= 'a' && ch <= 'f' ) return ch - 'a' + 10;
-	if( ch >= 'A' && ch <= 'F' ) return ch - 'A' + 10;
-	return -1;
-}
-
-char bwa2i( char ch, char **src, int base, int *nump ) {
-	int num, digit;
-	char *p;
-
-	p = *src; num = 0;
-	while( ( digit = bwa2d( ch ) ) >= 0 ) {
-		if ( digit > base ) break;
-		num = num*base + digit;
-		ch = *p++;
-	}
-	*src = p; *nump = num;
-	return ch;
-}
-
-void bwui2a( unsigned int num, unsigned int base, char *bf ) {
-	int n = 0;
-	int dgt;
-	unsigned int d = 1;
-	
-	while( (num / d) >= base ) d *= base;
-	while( d != 0 ) {
-		dgt = num / d;
-		num %= d;
-		d /= base;
-		if( n || dgt > 0 || d == 0 ) {
-			*bf++ = dgt + ( dgt < 10 ? '0' : 'a' - 10 );
-			++n;
-		}
-	}
-	*bf = 0;
-}
-
-void bwi2a( int num, char *bf ) {
-	if( num < 0 ) {
-		num = -num;
-		*bf++ = '-';
-	}
-	bwui2a( num, 10, bf );
-}
-
-void bwformat ( int channel, char *fmt, va_list va ) {
-	char bf[12];
-	char ch, lz;
-	int w;
-
-	
-	while ( ( ch = *(fmt++) ) ) {
-		if ( ch != '%' )
-			bwputc( channel, ch );
-		else {
-			lz = 0; w = 0;
-			ch = *(fmt++);
-			switch ( ch ) {
-			case '0':
-				lz = 1; ch = *(fmt++);
-				break;
-			case '1':
-			case '2':
-			case '3':
-			case '4':
-			case '5':
-			case '6':
-			case '7':
-			case '8':
-			case '9':
-				ch = bwa2i( ch, &fmt, 10, &w );
-				break;
-			}
-			switch( ch ) {
-			case 0: return;
-			case 'c':
-				bwputc( channel, va_arg( va, char ) );
-				break;
-			case 's':
-				bwputw( channel, w, 0, va_arg( va, char* ) );
-				break;
-			case 'u':
-				bwui2a( va_arg( va, unsigned int ), 10, bf );
-				bwputw( channel, w, lz, bf );
-				break;
-			case 'd':
-				bwi2a( va_arg( va, int ), bf );
-				bwputw( channel, w, lz, bf );
-				break;
-			case 'x':
-				bwui2a( va_arg( va, unsigned int ), 16, bf );
-				bwputw( channel, w, lz, bf );
-				break;
-			case '%':
-				bwputc( channel, ch );
-				break;
-			}
-		}
-	}
-}
-
-void bwprintf( int channel, char *fmt, ... ) {
-        va_list va;
-
-        va_start(va,fmt);
-        bwformat( channel, fmt, va );
-        va_end(va);
-}
-
diff --git a/src/libsrc/bwio.o b/src/libsrc/bwio.o
deleted file mode 100644
index 1f01e290b85e1e1a3aedabe0cb298ef39089b2f4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 5288
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
AdjJ3c

diff --git a/src/libsrc/bwio.s b/src/libsrc/bwio.s
deleted file mode 100644
index 1131732..0000000
--- a/src/libsrc/bwio.s
+++ /dev/null
@@ -1,982 +0,0 @@
-	.file	"bwio.c"
-	.text
-	.align	2
-	.global	bwsetfifo
-	.type	bwsetfifo, %function
-bwsetfifo:
-	@ args = 0, pretend = 0, frame = 28
-	@ frame_needed = 1, uses_anonymous_args = 0
-	mov	ip, sp
-	stmfd	sp!, {fp, ip, lr, pc}
-	sub	fp, ip, #4
-	sub	sp, sp, #28
-	str	r0, [fp, #-24]
-	str	r1, [fp, #-28]
-	ldr	r3, [fp, #-24]
-	str	r3, [fp, #-40]
-	ldr	r3, [fp, #-40]
-	cmp	r3, #0
-	beq	.L3
-	ldr	r3, [fp, #-40]
-	cmp	r3, #1
-	beq	.L4
-	b	.L2
-.L3:
-	ldr	r3, .L11
-	str	r3, [fp, #-20]
-	b	.L5
-.L4:
-	ldr	r3, .L11+4
-	str	r3, [fp, #-20]
-	b	.L5
-.L2:
-	mvn	r3, #0
-	str	r3, [fp, #-36]
-	b	.L6
-.L5:
-	ldr	r3, [fp, #-20]
-	ldr	r3, [r3, #0]
-	str	r3, [fp, #-16]
-	ldr	r3, [fp, #-28]
-	cmp	r3, #0
-	beq	.L7
-	ldr	r3, [fp, #-16]
-	orr	r3, r3, #16
-	str	r3, [fp, #-32]
-	b	.L9
-.L7:
-	ldr	r3, [fp, #-16]
-	bic	r3, r3, #16
-	str	r3, [fp, #-32]
-.L9:
-	ldr	r3, [fp, #-32]
-	str	r3, [fp, #-16]
-	ldr	r2, [fp, #-20]
-	ldr	r3, [fp, #-16]
-	str	r3, [r2, #0]
-	mov	r3, #0
-	str	r3, [fp, #-36]
-.L6:
-	ldr	r3, [fp, #-36]
-	mov	r0, r3
-	sub	sp, fp, #12
-	ldmfd	sp, {fp, sp, pc}
-.L12:
-	.align	2
-.L11:
-	.word	-2138308600
-	.word	-2138243064
-	.size	bwsetfifo, .-bwsetfifo
-	.align	2
-	.global	bwsetspeed
-	.type	bwsetspeed, %function
-bwsetspeed:
-	@ args = 0, pretend = 0, frame = 28
-	@ frame_needed = 1, uses_anonymous_args = 0
-	mov	ip, sp
-	stmfd	sp!, {fp, ip, lr, pc}
-	sub	fp, ip, #4
-	sub	sp, sp, #28
-	str	r0, [fp, #-24]
-	str	r1, [fp, #-28]
-	ldr	r2, [fp, #-24]
-	str	r2, [fp, #-36]
-	ldr	r3, [fp, #-36]
-	cmp	r3, #0
-	beq	.L15
-	ldr	r2, [fp, #-36]
-	cmp	r2, #1
-	beq	.L16
-	b	.L14
-.L15:
-	ldr	r3, .L23
-	str	r3, [fp, #-20]
-	ldr	r3, .L23+4
-	str	r3, [fp, #-16]
-	b	.L17
-.L16:
-	ldr	r3, .L23+8
-	str	r3, [fp, #-20]
-	ldr	r3, .L23+12
-	str	r3, [fp, #-16]
-	b	.L17
-.L14:
-	mvn	r3, #0
-	str	r3, [fp, #-32]
-	b	.L18
-.L17:
-	ldr	r2, [fp, #-28]
-	str	r2, [fp, #-40]
-	ldr	r3, [fp, #-40]
-	cmp	r3, #2400
-	beq	.L20
-	ldr	r3, .L23+16
-	ldr	r2, [fp, #-40]
-	cmp	r2, r3
-	beq	.L21
-	b	.L19
-.L21:
-	ldr	r2, [fp, #-20]
-	mov	r3, #0
-	str	r3, [r2, #0]
-	ldr	r2, [fp, #-16]
-	mov	r3, #3
-	str	r3, [r2, #0]
-	mov	r3, #0
-	str	r3, [fp, #-32]
-	b	.L18
-.L20:
-	ldr	r2, [fp, #-20]
-	mov	r3, #0
-	str	r3, [r2, #0]
-	ldr	r2, [fp, #-16]
-	mov	r3, #191
-	str	r3, [r2, #0]
-	mov	r2, #0
-	str	r2, [fp, #-32]
-	b	.L18
-.L19:
-	mvn	r3, #0
-	str	r3, [fp, #-32]
-.L18:
-	ldr	r3, [fp, #-32]
-	mov	r0, r3
-	sub	sp, fp, #12
-	ldmfd	sp, {fp, sp, pc}
-.L24:
-	.align	2
-.L23:
-	.word	-2138308596
-	.word	-2138308592
-	.word	-2138243060
-	.word	-2138243056
-	.word	115200
-	.size	bwsetspeed, .-bwsetspeed
-	.align	2
-	.global	bwputc
-	.type	bwputc, %function
-bwputc:
-	@ args = 0, pretend = 0, frame = 24
-	@ frame_needed = 1, uses_anonymous_args = 0
-	mov	ip, sp
-	stmfd	sp!, {fp, ip, lr, pc}
-	sub	fp, ip, #4
-	sub	sp, sp, #24
-	str	r0, [fp, #-24]
-	mov	r3, r1
-	strb	r3, [fp, #-28]
-	ldr	r3, [fp, #-24]
-	str	r3, [fp, #-36]
-	ldr	r3, [fp, #-36]
-	cmp	r3, #0
-	beq	.L27
-	ldr	r3, [fp, #-36]
-	cmp	r3, #1
-	beq	.L28
-	b	.L26
-.L27:
-	ldr	r3, .L33
-	str	r3, [fp, #-20]
-	ldr	r3, .L33+4
-	str	r3, [fp, #-16]
-	b	.L29
-.L28:
-	ldr	r3, .L33+8
-	str	r3, [fp, #-20]
-	ldr	r3, .L33+12
-	str	r3, [fp, #-16]
-	b	.L29
-.L26:
-	mvn	r3, #0
-	str	r3, [fp, #-32]
-	b	.L30
-.L29:
-	ldr	r3, [fp, #-20]
-	ldr	r3, [r3, #0]
-	mov	r3, r3, lsr #5
-	and	r3, r3, #1
-	and	r3, r3, #255
-	cmp	r3, #0
-	bne	.L29
-	ldrb	r2, [fp, #-28]	@ zero_extendqisi2
-	ldr	r3, [fp, #-16]
-	str	r2, [r3, #0]
-	mov	r3, #0
-	str	r3, [fp, #-32]
-.L30:
-	ldr	r3, [fp, #-32]
-	mov	r0, r3
-	sub	sp, fp, #12
-	ldmfd	sp, {fp, sp, pc}
-.L34:
-	.align	2
-.L33:
-	.word	-2138308584
-	.word	-2138308608
-	.word	-2138243048
-	.word	-2138243072
-	.size	bwputc, .-bwputc
-	.align	2
-	.global	c2x
-	.type	c2x, %function
-c2x:
-	@ args = 0, pretend = 0, frame = 8
-	@ frame_needed = 1, uses_anonymous_args = 0
-	mov	ip, sp
-	stmfd	sp!, {fp, ip, lr, pc}
-	sub	fp, ip, #4
-	sub	sp, sp, #8
-	mov	r3, r0
-	strb	r3, [fp, #-16]
-	ldrb	r3, [fp, #-16]	@ zero_extendqisi2
-	cmp	r3, #9
-	bhi	.L36
-	ldrb	r3, [fp, #-16]	@ zero_extendqisi2
-	add	r3, r3, #48
-	and	r3, r3, #255
-	and	r3, r3, #255
-	str	r3, [fp, #-20]
-	b	.L38
-.L36:
-	ldrb	r3, [fp, #-16]	@ zero_extendqisi2
-	add	r3, r3, #87
-	and	r3, r3, #255
-	and	r3, r3, #255
-	str	r3, [fp, #-20]
-.L38:
-	ldr	r3, [fp, #-20]
-	mov	r0, r3
-	sub	sp, fp, #12
-	ldmfd	sp, {fp, sp, pc}
-	.size	c2x, .-c2x
-	.align	2
-	.global	bwputx
-	.type	bwputx, %function
-bwputx:
-	@ args = 0, pretend = 0, frame = 12
-	@ frame_needed = 1, uses_anonymous_args = 0
-	mov	ip, sp
-	stmfd	sp!, {fp, ip, lr, pc}
-	sub	fp, ip, #4
-	sub	sp, sp, #12
-	str	r0, [fp, #-20]
-	mov	r3, r1
-	strb	r3, [fp, #-24]
-	ldrb	r3, [fp, #-24]	@ zero_extendqisi2
-	mov	r3, r3, lsr #4
-	and	r3, r3, #255
-	mov	r0, r3
-	bl	c2x(PLT)
-	mov	r3, r0
-	strb	r3, [fp, #-14]
-	ldrb	r3, [fp, #-24]	@ zero_extendqisi2
-	and	r3, r3, #15
-	mov	r0, r3
-	bl	c2x(PLT)
-	mov	r3, r0
-	strb	r3, [fp, #-13]
-	ldrb	r3, [fp, #-14]	@ zero_extendqisi2
-	ldr	r0, [fp, #-20]
-	mov	r1, r3
-	bl	bwputc(PLT)
-	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
-	ldr	r0, [fp, #-20]
-	mov	r1, r3
-	bl	bwputc(PLT)
-	mov	r3, r0
-	mov	r0, r3
-	sub	sp, fp, #12
-	ldmfd	sp, {fp, sp, pc}
-	.size	bwputx, .-bwputx
-	.align	2
-	.global	bwputr
-	.type	bwputr, %function
-bwputr:
-	@ args = 0, pretend = 0, frame = 16
-	@ frame_needed = 1, uses_anonymous_args = 0
-	mov	ip, sp
-	stmfd	sp!, {fp, ip, lr, pc}
-	sub	fp, ip, #4
-	sub	sp, sp, #16
-	str	r0, [fp, #-24]
-	str	r1, [fp, #-28]
-	sub	r3, fp, #28
-	str	r3, [fp, #-16]
-	mov	r3, #3
-	str	r3, [fp, #-20]
-	b	.L43
-.L44:
-	ldr	r3, [fp, #-20]
-	mov	r2, r3
-	ldr	r3, [fp, #-16]
-	add	r3, r2, r3
-	ldrb	r3, [r3, #0]	@ zero_extendqisi2
-	ldr	r0, [fp, #-24]
-	mov	r1, r3
-	bl	bwputx(PLT)
-	ldr	r3, [fp, #-20]
-	sub	r3, r3, #1
-	str	r3, [fp, #-20]
-.L43:
-	ldr	r3, [fp, #-20]
-	cmp	r3, #0
-	bge	.L44
-	ldr	r0, [fp, #-24]
-	mov	r1, #32
-	bl	bwputc(PLT)
-	mov	r3, r0
-	mov	r0, r3
-	sub	sp, fp, #12
-	ldmfd	sp, {fp, sp, pc}
-	.size	bwputr, .-bwputr
-	.align	2
-	.global	bwputstr
-	.type	bwputstr, %function
-bwputstr:
-	@ args = 0, pretend = 0, frame = 12
-	@ frame_needed = 1, uses_anonymous_args = 0
-	mov	ip, sp
-	stmfd	sp!, {fp, ip, lr, pc}
-	sub	fp, ip, #4
-	sub	sp, sp, #12
-	str	r0, [fp, #-16]
-	str	r1, [fp, #-20]
-	b	.L48
-.L49:
-	ldr	r3, [fp, #-20]
-	ldrb	r3, [r3, #0]	@ zero_extendqisi2
-	ldr	r0, [fp, #-16]
-	mov	r1, r3
-	bl	bwputc(PLT)
-	mov	r3, r0
-	cmp	r3, #0
-	bge	.L50
-	mvn	r3, #0
-	str	r3, [fp, #-24]
-	b	.L52
-.L50:
-	ldr	r3, [fp, #-20]
-	add	r3, r3, #1
-	str	r3, [fp, #-20]
-.L48:
-	ldr	r3, [fp, #-20]
-	ldrb	r3, [r3, #0]	@ zero_extendqisi2
-	cmp	r3, #0
-	bne	.L49
-	mov	r3, #0
-	str	r3, [fp, #-24]
-.L52:
-	ldr	r3, [fp, #-24]
-	mov	r0, r3
-	sub	sp, fp, #12
-	ldmfd	sp, {fp, sp, pc}
-	.size	bwputstr, .-bwputstr
-	.align	2
-	.global	bwputw
-	.type	bwputw, %function
-bwputw:
-	@ args = 0, pretend = 0, frame = 24
-	@ frame_needed = 1, uses_anonymous_args = 0
-	mov	ip, sp
-	stmfd	sp!, {fp, ip, lr, pc}
-	sub	fp, ip, #4
-	sub	sp, sp, #24
-	str	r0, [fp, #-24]
-	str	r1, [fp, #-28]
-	str	r3, [fp, #-36]
-	mov	r3, r2
-	strb	r3, [fp, #-32]
-	ldr	r3, [fp, #-36]
-	str	r3, [fp, #-16]
-	b	.L56
-.L57:
-	ldr	r3, [fp, #-28]
-	sub	r3, r3, #1
-	str	r3, [fp, #-28]
-.L56:
-	ldr	r3, [fp, #-16]
-	ldrb	r3, [r3, #0]	@ zero_extendqisi2
-	cmp	r3, #0
-	moveq	r3, #0
-	movne	r3, #1
-	and	r2, r3, #255
-	ldr	r3, [fp, #-16]
-	add	r3, r3, #1
-	str	r3, [fp, #-16]
-	eor	r3, r2, #1
-	and	r3, r3, #255
-	cmp	r3, #0
-	bne	.L60
-	ldr	r3, [fp, #-28]
-	cmp	r3, #0
-	bgt	.L57
-	b	.L60
-.L61:
-	ldrb	r3, [fp, #-32]	@ zero_extendqisi2
-	ldr	r0, [fp, #-24]
-	mov	r1, r3
-	bl	bwputc(PLT)
-.L60:
-	ldr	r3, [fp, #-28]
-	cmp	r3, #0
-	movle	r3, #0
-	movgt	r3, #1
-	and	r2, r3, #255
-	ldr	r3, [fp, #-28]
-	sub	r3, r3, #1
-	str	r3, [fp, #-28]
-	cmp	r2, #0
-	bne	.L61
-	b	.L63
-.L64:
-	ldrb	r3, [fp, #-17]	@ zero_extendqisi2
-	ldr	r0, [fp, #-24]
-	mov	r1, r3
-	bl	bwputc(PLT)
-.L63:
-	ldr	r3, [fp, #-36]
-	ldrb	r3, [r3, #0]
-	strb	r3, [fp, #-17]
-	ldrb	r3, [fp, #-17]	@ zero_extendqisi2
-	cmp	r3, #0
-	moveq	r3, #0
-	movne	r3, #1
-	and	r2, r3, #255
-	ldr	r3, [fp, #-36]
-	add	r3, r3, #1
-	str	r3, [fp, #-36]
-	cmp	r2, #0
-	bne	.L64
-	sub	sp, fp, #12
-	ldmfd	sp, {fp, sp, pc}
-	.size	bwputw, .-bwputw
-	.align	2
-	.global	bwgetc
-	.type	bwgetc, %function
-bwgetc:
-	@ args = 0, pretend = 0, frame = 24
-	@ frame_needed = 1, uses_anonymous_args = 0
-	mov	ip, sp
-	stmfd	sp!, {fp, ip, lr, pc}
-	sub	fp, ip, #4
-	sub	sp, sp, #24
-	str	r0, [fp, #-28]
-	ldr	r3, [fp, #-28]
-	str	r3, [fp, #-36]
-	ldr	r3, [fp, #-36]
-	cmp	r3, #0
-	beq	.L69
-	ldr	r3, [fp, #-36]
-	cmp	r3, #1
-	beq	.L70
-	b	.L68
-.L69:
-	ldr	r3, .L75
-	str	r3, [fp, #-24]
-	ldr	r3, .L75+4
-	str	r3, [fp, #-20]
-	b	.L71
-.L70:
-	ldr	r3, .L75+8
-	str	r3, [fp, #-24]
-	ldr	r3, .L75+12
-	str	r3, [fp, #-20]
-	b	.L71
-.L68:
-	mvn	r3, #0
-	str	r3, [fp, #-32]
-	b	.L72
-.L71:
-	ldr	r3, [fp, #-24]
-	ldr	r3, [r3, #0]
-	mov	r3, r3, lsr #6
-	and	r3, r3, #1
-	cmp	r3, #0
-	beq	.L71
-	ldr	r3, [fp, #-20]
-	ldr	r3, [r3, #0]
-	strb	r3, [fp, #-13]
-	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
-	str	r3, [fp, #-32]
-.L72:
-	ldr	r3, [fp, #-32]
-	mov	r0, r3
-	sub	sp, fp, #12
-	ldmfd	sp, {fp, sp, pc}
-.L76:
-	.align	2
-.L75:
-	.word	-2138308584
-	.word	-2138308608
-	.word	-2138243048
-	.word	-2138243072
-	.size	bwgetc, .-bwgetc
-	.align	2
-	.global	bwa2d
-	.type	bwa2d, %function
-bwa2d:
-	@ args = 0, pretend = 0, frame = 8
-	@ frame_needed = 1, uses_anonymous_args = 0
-	mov	ip, sp
-	stmfd	sp!, {fp, ip, lr, pc}
-	sub	fp, ip, #4
-	sub	sp, sp, #8
-	mov	r3, r0
-	strb	r3, [fp, #-16]
-	ldrb	r3, [fp, #-16]	@ zero_extendqisi2
-	cmp	r3, #47
-	bls	.L78
-	ldrb	r3, [fp, #-16]	@ zero_extendqisi2
-	cmp	r3, #57
-	bhi	.L78
-	ldrb	r3, [fp, #-16]	@ zero_extendqisi2
-	sub	r3, r3, #48
-	str	r3, [fp, #-20]
-	b	.L81
-.L78:
-	ldrb	r3, [fp, #-16]	@ zero_extendqisi2
-	cmp	r3, #96
-	bls	.L82
-	ldrb	r3, [fp, #-16]	@ zero_extendqisi2
-	cmp	r3, #102
-	bhi	.L82
-	ldrb	r3, [fp, #-16]	@ zero_extendqisi2
-	sub	r3, r3, #87
-	str	r3, [fp, #-20]
-	b	.L81
-.L82:
-	ldrb	r3, [fp, #-16]	@ zero_extendqisi2
-	cmp	r3, #64
-	bls	.L85
-	ldrb	r3, [fp, #-16]	@ zero_extendqisi2
-	cmp	r3, #70
-	bhi	.L85
-	ldrb	r3, [fp, #-16]	@ zero_extendqisi2
-	sub	r3, r3, #55
-	str	r3, [fp, #-20]
-	b	.L81
-.L85:
-	mvn	r3, #0
-	str	r3, [fp, #-20]
-.L81:
-	ldr	r3, [fp, #-20]
-	mov	r0, r3
-	sub	sp, fp, #12
-	ldmfd	sp, {fp, sp, pc}
-	.size	bwa2d, .-bwa2d
-	.align	2
-	.global	bwa2i
-	.type	bwa2i, %function
-bwa2i:
-	@ args = 0, pretend = 0, frame = 28
-	@ frame_needed = 1, uses_anonymous_args = 0
-	mov	ip, sp
-	stmfd	sp!, {fp, ip, lr, pc}
-	sub	fp, ip, #4
-	sub	sp, sp, #28
-	str	r1, [fp, #-32]
-	str	r2, [fp, #-36]
-	str	r3, [fp, #-40]
-	mov	r3, r0
-	strb	r3, [fp, #-28]
-	ldr	r3, [fp, #-32]
-	ldr	r3, [r3, #0]
-	str	r3, [fp, #-16]
-	mov	r3, #0
-	str	r3, [fp, #-24]
-	b	.L90
-.L91:
-	ldr	r2, [fp, #-20]
-	ldr	r3, [fp, #-36]
-	cmp	r2, r3
-	bgt	.L92
-	ldr	r2, [fp, #-24]
-	ldr	r3, [fp, #-36]
-	mul	r2, r3, r2
-	ldr	r3, [fp, #-20]
-	add	r3, r2, r3
-	str	r3, [fp, #-24]
-	ldr	r3, [fp, #-16]
-	ldrb	r3, [r3, #0]
-	strb	r3, [fp, #-28]
-	ldr	r3, [fp, #-16]
-	add	r3, r3, #1
-	str	r3, [fp, #-16]
-.L90:
-	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
-	mov	r0, r3
-	bl	bwa2d(PLT)
-	mov	r3, r0
-	str	r3, [fp, #-20]
-	ldr	r3, [fp, #-20]
-	cmp	r3, #0
-	bge	.L91
-.L92:
-	ldr	r2, [fp, #-32]
-	ldr	r3, [fp, #-16]
-	str	r3, [r2, #0]
-	ldr	r2, [fp, #-40]
-	ldr	r3, [fp, #-24]
-	str	r3, [r2, #0]
-	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
-	mov	r0, r3
-	sub	sp, fp, #12
-	ldmfd	sp, {fp, sp, pc}
-	.size	bwa2i, .-bwa2i
-	.global	__udivsi3
-	.global	__umodsi3
-	.align	2
-	.global	bwui2a
-	.type	bwui2a, %function
-bwui2a:
-	@ args = 0, pretend = 0, frame = 28
-	@ frame_needed = 1, uses_anonymous_args = 0
-	mov	ip, sp
-	stmfd	sp!, {fp, ip, lr, pc}
-	sub	fp, ip, #4
-	sub	sp, sp, #28
-	str	r0, [fp, #-28]
-	str	r1, [fp, #-32]
-	str	r2, [fp, #-36]
-	mov	r3, #0
-	str	r3, [fp, #-24]
-	mov	r3, #1
-	str	r3, [fp, #-16]
-	b	.L96
-.L97:
-	ldr	r3, [fp, #-16]
-	ldr	r2, [fp, #-32]
-	mul	r3, r2, r3
-	str	r3, [fp, #-16]
-.L96:
-	ldr	r0, [fp, #-28]
-	ldr	r1, [fp, #-16]
-	bl	__udivsi3(PLT)
-	mov	r3, r0
-	mov	r2, r3
-	ldr	r3, [fp, #-32]
-	cmp	r2, r3
-	bcs	.L97
-	b	.L109
-.L100:
-	ldr	r0, [fp, #-28]
-	ldr	r1, [fp, #-16]
-	bl	__udivsi3(PLT)
-	mov	r3, r0
-	str	r3, [fp, #-20]
-	ldr	r3, [fp, #-28]
-	mov	r0, r3
-	ldr	r1, [fp, #-16]
-	bl	__umodsi3(PLT)
-	mov	r3, r0
-	str	r3, [fp, #-28]
-	ldr	r0, [fp, #-16]
-	ldr	r1, [fp, #-32]
-	bl	__udivsi3(PLT)
-	mov	r3, r0
-	str	r3, [fp, #-16]
-	ldr	r3, [fp, #-24]
-	cmp	r3, #0
-	bne	.L101
-	ldr	r3, [fp, #-20]
-	cmp	r3, #0
-	bgt	.L101
-	ldr	r3, [fp, #-16]
-	cmp	r3, #0
-	bne	.L99
-.L101:
-	ldr	r3, [fp, #-20]
-	cmp	r3, #9
-	bgt	.L104
-	mov	r1, #48
-	str	r1, [fp, #-40]
-	b	.L106
-.L104:
-	mov	r3, #87
-	str	r3, [fp, #-40]
-.L106:
-	ldr	r3, [fp, #-20]
-	and	r3, r3, #255
-	ldr	r1, [fp, #-40]
-	mov	r2, r1
-	add	r3, r2, r3
-	and	r3, r3, #255
-	and	r3, r3, #255
-	ldr	r2, [fp, #-36]
-	strb	r3, [r2, #0]
-	ldr	r3, [fp, #-36]
-	add	r3, r3, #1
-	str	r3, [fp, #-36]
-	ldr	r3, [fp, #-24]
-	add	r3, r3, #1
-	str	r3, [fp, #-24]
-.L99:
-.L109:
-	ldr	r3, [fp, #-16]
-	cmp	r3, #0
-	bne	.L100
-	ldr	r3, [fp, #-36]
-	mov	r2, #0
-	strb	r2, [r3, #0]
-	sub	sp, fp, #12
-	ldmfd	sp, {fp, sp, pc}
-	.size	bwui2a, .-bwui2a
-	.align	2
-	.global	bwi2a
-	.type	bwi2a, %function
-bwi2a:
-	@ args = 0, pretend = 0, frame = 8
-	@ frame_needed = 1, uses_anonymous_args = 0
-	mov	ip, sp
-	stmfd	sp!, {fp, ip, lr, pc}
-	sub	fp, ip, #4
-	sub	sp, sp, #8
-	str	r0, [fp, #-16]
-	str	r1, [fp, #-20]
-	ldr	r3, [fp, #-16]
-	cmp	r3, #0
-	bge	.L111
-	ldr	r3, [fp, #-16]
-	rsb	r3, r3, #0
-	str	r3, [fp, #-16]
-	ldr	r2, [fp, #-20]
-	mov	r3, #45
-	strb	r3, [r2, #0]
-	ldr	r3, [fp, #-20]
-	add	r3, r3, #1
-	str	r3, [fp, #-20]
-.L111:
-	ldr	r3, [fp, #-16]
-	mov	r0, r3
-	mov	r1, #10
-	ldr	r2, [fp, #-20]
-	bl	bwui2a(PLT)
-	sub	sp, fp, #12
-	ldmfd	sp, {fp, sp, pc}
-	.size	bwi2a, .-bwi2a
-	.align	2
-	.global	bwformat
-	.type	bwformat, %function
-bwformat:
-	@ args = 0, pretend = 0, frame = 40
-	@ frame_needed = 1, uses_anonymous_args = 0
-	mov	ip, sp
-	stmfd	sp!, {fp, ip, lr, pc}
-	sub	fp, ip, #4
-	sub	sp, sp, #40
-	str	r0, [fp, #-36]
-	str	r1, [fp, #-40]
-	str	r2, [fp, #-44]
-	b	.L133
-.L116:
-	ldrb	r3, [fp, #-14]	@ zero_extendqisi2
-	cmp	r3, #37
-	beq	.L117
-	ldrb	r3, [fp, #-14]	@ zero_extendqisi2
-	ldr	r0, [fp, #-36]
-	mov	r1, r3
-	bl	bwputc(PLT)
-	b	.L115
-.L117:
-	mov	r3, #0
-	strb	r3, [fp, #-13]
-	mov	r3, #0
-	str	r3, [fp, #-32]
-	ldr	r2, [fp, #-40]
-	ldrb	r3, [r2, #0]
-	strb	r3, [fp, #-14]
-	add	r3, r2, #1
-	str	r3, [fp, #-40]
-	ldrb	r3, [fp, #-14]	@ zero_extendqisi2
-	str	r3, [fp, #-52]
-	ldr	r3, [fp, #-52]
-	cmp	r3, #48
-	beq	.L120
-	ldr	r3, [fp, #-52]
-	cmp	r3, #48
-	blt	.L119
-	ldr	r3, [fp, #-52]
-	cmp	r3, #57
-	bgt	.L119
-	b	.L121
-.L120:
-	mov	r3, #1
-	strb	r3, [fp, #-13]
-	ldr	r2, [fp, #-40]
-	ldrb	r3, [r2, #0]
-	strb	r3, [fp, #-14]
-	add	r3, r2, #1
-	str	r3, [fp, #-40]
-	b	.L119
-.L121:
-	ldrb	r3, [fp, #-14]	@ zero_extendqisi2
-	sub	r2, fp, #40
-	sub	ip, fp, #32
-	mov	r0, r3
-	mov	r1, r2
-	mov	r2, #10
-	mov	r3, ip
-	bl	bwa2i(PLT)
-	mov	r3, r0
-	strb	r3, [fp, #-14]
-.L119:
-	ldrb	r3, [fp, #-14]	@ zero_extendqisi2
-	str	r3, [fp, #-48]
-	ldr	r3, [fp, #-48]
-	cmp	r3, #115
-	beq	.L126
-	ldr	r3, [fp, #-48]
-	cmp	r3, #115
-	bgt	.L129
-	ldr	r3, [fp, #-48]
-	cmp	r3, #99
-	beq	.L124
-	ldr	r3, [fp, #-48]
-	cmp	r3, #99
-	bgt	.L130
-	ldr	r3, [fp, #-48]
-	cmp	r3, #0
-	beq	.L132
-	ldr	r3, [fp, #-48]
-	cmp	r3, #37
-	beq	.L123
-	b	.L115
-.L130:
-	ldr	r3, [fp, #-48]
-	cmp	r3, #100
-	beq	.L125
-	b	.L115
-.L129:
-	ldr	r3, [fp, #-48]
-	cmp	r3, #117
-	beq	.L127
-	ldr	r3, [fp, #-48]
-	cmp	r3, #120
-	beq	.L128
-	b	.L115
-.L124:
-	ldr	r3, [fp, #-44]
-	add	r3, r3, #4
-	str	r3, [fp, #-44]
-	ldr	r3, [fp, #-44]
-	sub	r3, r3, #4
-	ldrb	r3, [r3, #0]	@ zero_extendqisi2
-	ldr	r0, [fp, #-36]
-	mov	r1, r3
-	bl	bwputc(PLT)
-	b	.L115
-.L126:
-	ldr	r2, [fp, #-32]
-	ldr	r3, [fp, #-44]
-	add	r3, r3, #4
-	str	r3, [fp, #-44]
-	ldr	r3, [fp, #-44]
-	sub	r3, r3, #4
-	ldr	r3, [r3, #0]
-	ldr	r0, [fp, #-36]
-	mov	r1, r2
-	mov	r2, #0
-	bl	bwputw(PLT)
-	b	.L115
-.L127:
-	ldr	r3, [fp, #-44]
-	add	r3, r3, #4
-	str	r3, [fp, #-44]
-	ldr	r3, [fp, #-44]
-	sub	r3, r3, #4
-	ldr	r3, [r3, #0]
-	sub	r2, fp, #26
-	mov	r0, r3
-	mov	r1, #10
-	bl	bwui2a(PLT)
-	ldr	r3, [fp, #-32]
-	ldrb	r2, [fp, #-13]	@ zero_extendqisi2
-	sub	ip, fp, #26
-	ldr	r0, [fp, #-36]
-	mov	r1, r3
-	mov	r3, ip
-	bl	bwputw(PLT)
-	b	.L115
-.L125:
-	ldr	r3, [fp, #-44]
-	add	r3, r3, #4
-	str	r3, [fp, #-44]
-	ldr	r3, [fp, #-44]
-	sub	r3, r3, #4
-	ldr	r3, [r3, #0]
-	sub	r2, fp, #26
-	mov	r0, r3
-	mov	r1, r2
-	bl	bwi2a(PLT)
-	ldr	r3, [fp, #-32]
-	ldrb	r2, [fp, #-13]	@ zero_extendqisi2
-	sub	ip, fp, #26
-	ldr	r0, [fp, #-36]
-	mov	r1, r3
-	mov	r3, ip
-	bl	bwputw(PLT)
-	b	.L115
-.L128:
-	ldr	r3, [fp, #-44]
-	add	r3, r3, #4
-	str	r3, [fp, #-44]
-	ldr	r3, [fp, #-44]
-	sub	r3, r3, #4
-	ldr	r3, [r3, #0]
-	sub	r2, fp, #26
-	mov	r0, r3
-	mov	r1, #16
-	bl	bwui2a(PLT)
-	ldr	r3, [fp, #-32]
-	ldrb	r2, [fp, #-13]	@ zero_extendqisi2
-	sub	ip, fp, #26
-	ldr	r0, [fp, #-36]
-	mov	r1, r3
-	mov	r3, ip
-	bl	bwputw(PLT)
-	b	.L115
-.L123:
-	ldrb	r3, [fp, #-14]	@ zero_extendqisi2
-	ldr	r0, [fp, #-36]
-	mov	r1, r3
-	bl	bwputc(PLT)
-.L115:
-.L133:
-	ldr	r1, [fp, #-40]
-	ldrb	r3, [r1, #0]
-	strb	r3, [fp, #-14]
-	ldrb	r3, [fp, #-14]	@ zero_extendqisi2
-	cmp	r3, #0
-	moveq	r3, #0
-	movne	r3, #1
-	and	r2, r3, #255
-	add	r3, r1, #1
-	str	r3, [fp, #-40]
-	cmp	r2, #0
-	bne	.L116
-.L132:
-	sub	sp, fp, #12
-	ldmfd	sp, {fp, sp, pc}
-	.size	bwformat, .-bwformat
-	.align	2
-	.global	bwprintf
-	.type	bwprintf, %function
-bwprintf:
-	@ args = 4, pretend = 12, frame = 8
-	@ frame_needed = 1, uses_anonymous_args = 1
-	mov	ip, sp
-	stmfd	sp!, {r1, r2, r3}
-	stmfd	sp!, {fp, ip, lr, pc}
-	sub	fp, ip, #16
-	sub	sp, sp, #8
-	str	r0, [fp, #-20]
-	add	r3, fp, #8
-	str	r3, [fp, #-16]
-	ldr	r0, [fp, #-20]
-	ldr	r1, [fp, #4]
-	ldr	r2, [fp, #-16]
-	bl	bwformat(PLT)
-	sub	sp, fp, #12
-	ldmfd	sp, {fp, sp, pc}
-	.size	bwprintf, .-bwprintf
-	.ident	"GCC: (GNU) 4.0.2"
diff --git a/src/libsrc/scheduler.c b/src/libsrc/scheduler.c
deleted file mode 100644
index 1b389b5..0000000
--- a/src/libsrc/scheduler.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include "scheduler.h"
-
-// int schedulerInit() {
-//     return 0;
-// } // add the IDLE task with lowest priority and first USER task maybe
-
-// int pushToScheduler (KernelStruct* Colonel, TD* Task) {
-//     return 0;
-// }
-
-// TD* getNextTaskScheduler (KernelStruct* Colonel) {
-//     return NULL;
-// }
diff --git a/src/libsrc/task-descriptor.c b/src/libsrc/task-descriptor.c
deleted file mode 100644
index 43e7042..0000000
--- a/src/libsrc/task-descriptor.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include "task-descriptor.h"
-
-
-//void TaskInit();
-
-int isTaskAlive(int TaskID) {
-    return 0;
-}
-
-
-
-
-
-
-- 
GitLab