Subversion Repositories HelenOS

Compare Revisions

No changes between revisions

Ignore whitespace Rev 4153 → Rev 3992

/branches/network/boot/arch/ia32/Makefile.inc
40,23 → 40,20
INIT_TASKS += $(USPACEDIR)/srv/fs/fat/fat
endif
 
RD_SRVS = \
RD_TASKS = \
$(USPACEDIR)/srv/pci/pci \
$(USPACEDIR)/srv/fb/fb \
$(USPACEDIR)/srv/kbd/kbd \
$(USPACEDIR)/srv/console/console \
$(USPACEDIR)/srv/fs/fat/fat
 
RD_APPS = \
$(USPACEDIR)/srv/fs/fat/fat \
$(USPACEDIR)/app/tetris/tetris \
$(USPACEDIR)/app/tester/tester \
$(USPACEDIR)/app/trace/trace \
$(USPACEDIR)/app/klog/klog \
$(USPACEDIR)/app/bdsh/bdsh \
$(USPACEDIR)/srv/net/networking/networking \
$(USPACEDIR)/srv/net/networking/startup/networking_startup \
$(USPACEDIR)/srv/net/netif/lo/lo \
$(USPACEDIR)/srv/net/netif/dp8390/dp8390
$(USPACEDIR)/srv/net/netif/lo/lo
# $(USPACEDIR)/srv/net/netif/dp8390_isa
 
ifeq ($(NETWORKING), modular)
RD_TASKS += $(USPACEDIR)/srv/net/il/ip/ip \
71,41 → 68,35
 
build: $(BASE)/image.iso
 
$(BASE)/image.iso: arch/$(BARCH)/grub/stage2_eltorito arch/$(BARCH)/grub/menu.lst $(KERNELDIR)/kernel.bin $(INIT_TASKS) $(RD_SRVS) $(RD_APPS)
mkdir -p arch/$(BARCH)/iso/boot/grub
cp arch/$(BARCH)/grub/stage2_eltorito arch/$(BARCH)/iso/boot/grub/
$(BASE)/image.iso: arch/$(ARCH)/grub/stage2_eltorito arch/$(ARCH)/grub/menu.lst $(KERNELDIR)/kernel.bin $(INIT_TASKS) $(RD_TASKS)
mkdir -p arch/$(ARCH)/iso/boot/grub
cp arch/$(ARCH)/grub/stage2_eltorito arch/$(ARCH)/iso/boot/grub/
ifneq ($(RDFMT),tmpfs)
cat arch/$(BARCH)/grub/menu.lst | grep -v "tmpfs" >arch/$(BARCH)/iso/boot/grub/menu.lst
cat arch/$(ARCH)/grub/menu.lst | grep -v "tmpfs" >arch/$(ARCH)/iso/boot/grub/menu.lst
endif
ifneq ($(RDFMT),fat)
cat arch/$(BARCH)/grub/menu.lst | grep -v "fat" >arch/$(BARCH)/iso/boot/grub/menu.lst
cat arch/$(ARCH)/grub/menu.lst | grep -v "fat" >arch/$(ARCH)/iso/boot/grub/menu.lst
endif
cp $(KERNELDIR)/kernel.bin arch/$(BARCH)/iso/boot/
cp $(KERNELDIR)/kernel.bin arch/$(ARCH)/iso/boot/
for task in $(INIT_TASKS) ; do \
cp $$task arch/$(BARCH)/iso/boot/ ; \
cp $$task arch/$(ARCH)/iso/boot/ ; \
done
for file in $(RD_SRVS) ; do \
cp $$file $(USPACEDIR)/dist/srv/ ; \
for task in $(RD_TASKS) ; do \
cp $$task $(USPACEDIR)/dist/sbin/ ; \
done
for file in $(RD_APPS) ; do \
cp $$file $(USPACEDIR)/dist/app/ ; \
done
ifeq ($(RDFMT),tmpfs)
$(BASE)/tools/mktmpfs.py $(USPACEDIR)/dist/ arch/$(BARCH)/iso/boot/initrd.fs
$(BASE)/tools/mktmpfs.py $(USPACEDIR)/dist/ arch/$(ARCH)/iso/boot/initrd.fs
endif
ifeq ($(RDFMT),fat)
$(BASE)/tools/mkfat.py $(USPACEDIR)/dist/ arch/$(BARCH)/iso/boot/initrd.fs
$(BASE)/tools/mkfat.sh $(USPACEDIR)/dist/ arch/$(ARCH)/iso/boot/initrd.fs
endif
$(BASE)/tools/mkhord.py 4096 arch/$(BARCH)/iso/boot/initrd.fs arch/$(BARCH)/iso/boot/initrd.img
rm arch/$(BARCH)/iso/boot/initrd.fs
mkisofs -J -r -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -o $(BASE)/image.iso arch/$(BARCH)/iso/
$(BASE)/tools/mkhord.py 4096 arch/$(ARCH)/iso/boot/initrd.fs arch/$(ARCH)/iso/boot/initrd.img
rm arch/$(ARCH)/iso/boot/initrd.fs
mkisofs -J -r -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -o $(BASE)/image.iso arch/$(ARCH)/iso/
 
clean:
-for file in $(RD_SRVS) ; do \
rm -f $(USPACEDIR)/dist/srv/`basename $$file` ; \
-for task in $(RD_TASKS) ; do \
rm -f $(USPACEDIR)/dist/sbin/`basename $$task` ; \
done
-for file in $(RD_APPS) ; do \
rm -f $(USPACEDIR)/dist/app/`basename $$file` ; \
done
-rm -fr arch/$(BARCH)/iso
-rm -fr arch/$(ARCH)/iso
-rm -f $(BASE)/image.iso
/branches/network/boot/arch/ia64/loader/Makefile
27,7 → 27,7
#
 
include ../../../../version
-include ../../../../Makefile.config
include ../../../Makefile.config
 
## Toolchain configuration
#
47,7 → 47,7
LD = ld
OBJCOPY = objcopy
OBJDUMP = objdump
GEFI_PREFIX =
GEFI_PREXIX =
endif
 
ifeq ($(COMPILER),icc_native)
68,8 → 68,16
endif
 
#-mno-pic means do not use gp + imm22 to address data
CFLAGS = -DRELEASE=$(RELEASE) -I. -I../../../generic -I../../../genarch -I../../../../kernel/generic/include -imacros ../../../../config.h -nostdinc -nostdlib -fno-builtin -Werror-implicit-function-declaration -Wmissing-prototypes -Werror -O3 -fno-unwind-tables -mfixed-range=f32-f127 -mno-pic -pipe
CFLAGS = -DRELEASE=\"$(RELEASE)\" -I. -I../../../generic -I../../../genarch -I../../../../kernel/generic/include -nostdinc -nostdlib -fno-builtin -Werror-implicit-function-declaration -Wmissing-prototypes -Werror -O3 -fno-unwind-tables -mfixed-range=f32-f127 -mno-pic
 
ifdef REVISION
CFLAGS += "-DREVISION=\"$(REVISION)\""
endif
 
ifdef TIMESTAMP
CFLAGS += "-DTIMESTAMP=\"$(TIMESTAMP)\""
endif
 
SOURCES = \
main.c \
../../../generic/printf.c \
79,36 → 87,21
asm.S \
boot.S
 
NOCOMPONENTS = \
$(KERNELDIR)/kernel.bin
COMPONENTS = \
$(KERNELDIR)/kernel.bin \
$(USPACEDIR)/srv/ns/ns \
$(USPACEDIR)/srv/loader/loader \
$(USPACEDIR)/app/init/init \
$(USPACEDIR)/srv/devmap/devmap \
$(USPACEDIR)/srv/rd/rd \
$(USPACEDIR)/srv/vfs/vfs
ifeq ($(RDFMT),tmpfs)
COMPONENTS += $(USPACEDIR)/srv/fs/tmpfs/tmpfs
endif
ifeq ($(RDFMT),fat)
COMPONENTS += $(USPACEDIR)/srv/fs/fat/fat
endif
 
RD_SRVS = \
$(USPACEDIR)/srv/fb/fb \
$(USPACEDIR)/srv/kbd/kbd \
$(USPACEDIR)/srv/console/console \
$(USPACEDIR)/srv/vfs/vfs \
$(USPACEDIR)/srv/fs/tmpfs/tmpfs \
$(USPACEDIR)/srv/fs/fat/fat
 
RD_APPS = \
$(USPACEDIR)/srv/fs/fat/fat \
$(USPACEDIR)/srv/devmap/devmap \
$(USPACEDIR)/app/init/init \
$(USPACEDIR)/app/tetris/tetris \
$(USPACEDIR)/app/tester/tester \
$(USPACEDIR)/app/trace/trace \
$(USPACEDIR)/app/klog/klog \
$(USPACEDIR)/app/bdsh/bdsh
$(USPACEDIR)/app/klog/klog
 
OBJECTS := $(addsuffix .o,$(basename $(SOURCES)))
COMPONENT_OBJECTS := $(addsuffix .o,$(basename $(notdir $(COMPONENTS))))
122,41 → 115,22
hello.efi: image.boot
make -C gefi/HelenOS PREFIX=$(GEFI_PREFIX)
cp gefi/HelenOS/hello.efi ../../../../
# cp gefi/HelenOS/hello.efi /boot/efi/
cp gefi/HelenOS/image.bin ../../../../
 
image.boot: depend _components.h _link.ld $(COMPONENT_OBJECTS) initrd.o $(OBJECTS)
$(LD) -Map image.map -no-check-sections -N -T _link.ld $(COMPONENT_OBJECTS) initrd.o $(OBJECTS) -o $@
image.boot: depend _components.h _link.ld $(COMPONENT_OBJECTS) $(OBJECTS)
$(LD) -Map image.map -no-check-sections -N -T _link.ld $(COMPONENT_OBJECTS) $(OBJECTS) -o $@
 
depend:
-makedepend -f - -- $(DEFS) $(CFLAGS) -- $(SOURCES) > Makefile.depend 2> /dev/null
-makedepend $(DEFS) $(CFLAGS) -f - $(SOURCES) > Makefile.depend 2> /dev/null
 
clean:
-for file in $(RD_SRVS) ; do \
rm -f $(USPACEDIR)/dist/srv/`basename $$file` ; \
done
-for file in $(RD_APPS) ; do \
rm -f $(USPACEDIR)/dist/app/`basename $$file` ; \
done
-rm -f _components.h _components.c _link.ld $(COMPONENT_OBJECTS) initrd.o $(OBJECTS) image.boot image.map image.disasm initrd.img image.boot Makefile.depend ../../../../image.bin ../../../../hello.efi
-rm -f _components.h _components.c _link.ld $(COMPONENT_OBJECTS) $(OBJECTS) image.boot image.map image.disasm Makefile.depend ../../../../image.bin ../../../../hello.efi
make -C gefi clean
make -C gefi/HelenOS clean
 
_components.h _components.c _link.ld $(COMPONENT_OBJECTS) initrd.o: $(COMPONENTS) $(RD_SRVS) $(RD_APPS) _link.ld.in
for file in $(RD_SRVS) ; do \
cp $$file $(USPACEDIR)/dist/srv/ ; \
done
for file in $(RD_APPS) ; do \
cp $$file $(USPACEDIR)/dist/app/ ; \
done
ifeq ($(RDFMT),tmpfs)
../../../../tools/mktmpfs.py $(USPACEDIR)/dist/ initrd.fs
endif
ifeq ($(RDFMT),fat)
../../../../tools/mkfat.py $(USPACEDIR)/dist/ initrd.fs
endif
../../../../tools/mkhord.py 16384 initrd.fs initrd.img
rm initrd.fs
../../../tools/pack.py $(OBJCOPY) $(BFD_NAME) $(BFD_ARCH) 16384 "unsigned long" $(COMPONENTS) ./initrd.img
_components.h _components.c _link.ld $(COMPONENT_OBJECTS): $(COMPONENTS) _link.ld.in
../../../tools/pack.py $(OBJCOPY) $(BFD_NAME) $(BFD_ARCH) 16384 "unsigned long" $(COMPONENTS)
 
%.o: %.S
$(CC) $(DEFS) $(CFLAGS) -D__ASM__ -c $< -o $@
/branches/network/boot/arch/ia64/loader/gefi/apps/Makefile
28,7 → 28,7
CRTOBJS = ../gnuefi/crt0-efi-$(ARCH).o
LDSCRIPT = ../gnuefi/elf_$(ARCH)_efi.lds
LDFLAGS += -T $(LDSCRIPT) -shared -Bsymbolic -L../lib -L../gnuefi $(CRTOBJS)
LOADLIBES = -lefi -lgnuefi $(shell $(CC) -print-libgcc-file-name)
LOADLIBES = -lefi -lgnuefi
FORMAT = efi-app-$(ARCH)
 
TARGETS = t.efi t2.efi t3.efi t4.efi t5.efi t6.efi printenv.efi t7.efi
/branches/network/boot/arch/ia64/loader/gefi/HelenOS/mkimage.c
File deleted
/branches/network/boot/arch/ia64/loader/gefi/HelenOS/division.c
File deleted
\ No newline at end of file
Property changes:
Deleted: svn:special
-*
\ No newline at end of property
/branches/network/boot/arch/ia64/loader/gefi/HelenOS/division.h
File deleted
\ No newline at end of file
Property changes:
Deleted: svn:special
-*
\ No newline at end of property
/branches/network/boot/arch/ia64/loader/gefi/HelenOS/Makefile
28,7 → 28,6
CRTOBJS = ../gnuefi/crt0-efi-$(ARCH).o
LDSCRIPT = ../gnuefi/elf_$(ARCH)_efi.lds
LDFLAGS += -T $(LDSCRIPT) -shared -Bsymbolic -L../lib -L../gnuefi $(CRTOBJS)
#LOADLIBES = -lefi -lgnuefi $(shell $(CC) -print-libgcc-file-name)
LOADLIBES = -lefi -lgnuefi
FORMAT = efi-app-$(ARCH)
 
46,32 → 45,16
-j .rela -j .reloc --target=$(FORMAT) hello.so hello.efi
$(OBJDUMP) -d hello.efi > hello.disass
 
#When selected first lines or second lines, select if image is linked into hello or not - usefull for network boot
#hello.so: hello.o image.o division.o
hello.so: hello.o image.bin division.o
# $(LD) $(LDFLAGS) -Map hello.map hello.o division.o image.o -o hello.so $(LOADLIBES) #link image inside hello
$(LD) $(LDFLAGS) -Map hello.map hello.o division.o -o hello.so $(LOADLIBES) #dont link image inside hello
hello.so: hello.o image.o
$(LD) $(LDFLAGS) -Map hello.map hello.o -o hello.so $(LOADLIBES)
 
hello.o: hello.c
$(CC) $(INCDIR) $(CFLAGS) $(CPPFLAGS) -c hello.c -o hello.o
 
division.o: division.c
$(CC) $(INCDIR) $(CFLAGS) $(CPPFLAGS) -c division.c -o division.o
 
 
image.bin: ../../image.boot
image.o: ../../image.boot
$(OBJCOPY) -O binary ../../image.boot image.bin
$(OBJCOPY) -I binary -O elf64-ia64-little -B ia64 image.bin image.o
 
 
image.o: ../../image.boot mkimage
$(OBJCOPY) -O binary ../../image.boot image.bin
./mkimage
$(CC) $(INCDIR) $(CFLAGS) $(CPPFLAGS) -c image.c -o image.o
# $(OBJCOPY) -I binary -O elf64-ia64-little -B ia64 image.bin image.o
 
mkimage: mkimage.c
gcc -o mkimage mkimage.c
 
 
gefi:
make -C .. prefix=$(PREFIX)
/branches/network/boot/arch/ia64/loader/gefi/HelenOS/hello.c
1,29 → 1,9
#include <efi.h>
#include <efilib.h>
 
#include <../../../../../../kernel/arch/ia64/include/bootinfo.h>
 
#define KERNEL_LOAD_ADDRESS 0x4400000
 
#define MEM_MAP_DESCRIPTOR_OFFSET_TYPE 0
#define MEM_MAP_DESCRIPTOR_OFFSET_BASE 8
#define MEM_MAP_DESCRIPTOR_OFFSET_PAGES 24
 
 
 
//Link image as a data array into hello - usefull with network boot
//#define IMAGE_LINKED
 
bootinfo_t *bootinfo=(bootinfo_t *)BOOTINFO_ADDRESS;
 
 
#ifdef IMAGE_LINKED
extern char HOSimage[];
extern int HOSimagesize;
#endif
 
 
 
static CHAR16 *
a2u (char *str)
{
35,7 → 15,24
mem[i] = 0;
return mem;
}
char HEX[256];
 
char hexs[]="0123456789ABCDEF";
/*
void to_hex(unsigned long long num)
{
int a;
for(a=15;a>=0;a--)
{
char c=num - (num & 0xfffffffffffffff0LL);
num/=16;
c=hexs[c];
HEX[a]=c;
}
 
}
*/
 
EFI_STATUS
efi_main (EFI_HANDLE image, EFI_SYSTEM_TABLE *systab)
{
75,18 → 72,16
EFI_FILE *FileHandle;
 
BS->HandleProtocol(LoadedImage->DeviceHandle, &FileSystemProtocol, &Vol);
Vol->OpenVolume (Vol, &CurDir);
 
char FileName[1024];
char *OsKernelBuffer;
int i;
int defaultLoad;
int imageLoad;
UINTN Size;
 
StrCpy(FileName,DevicePathToStr(LoadedImage->FilePath));
for(i=StrLen(FileName);i>=0 && FileName[i]!='\\';i--);
FileName[i] = 0;
FileName[0] = 0;
Print(L"%s\n",LoadedImage->LoadOptions);
102,13 → 97,11
}
while(LoadOptions[i]==L' ') if(LoadOptions[i++]==0) break;
if(LoadOptions[i++]==0){
if(LoadOptions[i++]==0)
StrCat(FileName,L"\\image.bin");
defaultLoad=1;
}
/* else{
else{
CHAR16 buf[1024];
//buf[0]='\\';
buf[0]='\\';
i--;
int j;
for(j=0;LoadOptions[i+j]!=L' '&&LoadOptions[i+j]!=0;j++)
115,101 → 108,38
buf[j+1]=LoadOptions[i+j];
buf[j+1]=0;
StrCat(FileName,buf);
defaultLoad=0;
}*/
else{
CHAR16 buf[1024];
//buf[0]='\\';
i--;
int j;
for(j=0;LoadOptions[i+j]!=L' '&&LoadOptions[i+j]!=0;j++)
buf[j]=LoadOptions[i+j];
buf[j+1]=0;
StrCat(FileName,buf);
defaultLoad=0;
}
//Print(L"%s\n",FileName);
 
imageLoad=1;
#ifdef IMAGE_LINKED
if(defaultLoad) {
Print(L"Using Linked Image\n");
imageLoad=0;
EFI_STATUS stat;
stat=CurDir->Open(CurDir, &FileHandle, FileName, EFI_FILE_MODE_READ, 0);
if(EFI_ERROR(stat)){
Print(L"Error Opening Image %s\n",FileName);
return 0;
}
#endif
Size = 0x00400000;
BS->AllocatePool(EfiLoaderData, Size, &OsKernelBuffer);
FileHandle->Read(FileHandle, &Size, OsKernelBuffer);
FileHandle->Close(FileHandle);
 
char * HOS;
if(imageLoad)
{
Size = 0x00400000;
if(Size<1) return 0;
 
Vol->OpenVolume (Vol, &CurDir);
 
EFI_STATUS stat;
stat=CurDir->Open(CurDir, &FileHandle, FileName, EFI_FILE_MODE_READ, 0);
if(EFI_ERROR(stat)){
Print(L"Error Opening Image %s\n",FileName);
return 0;
}
BS->AllocatePool(EfiLoaderData, Size, &OsKernelBuffer);
FileHandle->Read(FileHandle, &Size, OsKernelBuffer);
FileHandle->Close(FileHandle);
HOS = OsKernelBuffer;
if(Size<1) return 0;
 
}
#ifdef IMAGE_LINKED
else {
HOS = HOSimage;
Size = HOSimagesize;
Print(L"Image start %llX\n",(long long)HOS);
Print(L"Image size %llX\n",(long long)Size);
Print(L"Image &size %llX\n",(long long)&Size);
}
#endif
char * HOS = OsKernelBuffer;
int HOSSize = Size;
 
 
rArg rSAL;
rArg rPAL;
 
//Setup AP's wake up address
LibSalProc(0x01000000,2,0x4400200,0,0,0,0,0,&rSAL);
 
 
//Get System Frequency
UINT64 sys_freq;
LibSalProc(0x01000012,0,0,0,0,0,0,0,&rSAL);
sys_freq=rSAL.p1;
 
UINT64 freq_scale;
//Get CPU Frequency to System Frequency ratio
LibPalProc(14,0,0,0,&rPAL);
freq_scale=rPAL.p1;
 
 
UINT64 sapic;
LibGetSalIpiBlock(&sapic);
Print (L"SAPIC:%X\n", sapic);
//bootinfo->sapic=sapic;
 
 
UINT64 wakeup_intno;
LibGetSalWakeupVector(&wakeup_intno);
Print (L"WAKEUP INTNO:%X\n", wakeup_intno);
 
 
 
 
 
{
UINTN cookie;
void *p=(void *)KERNEL_LOAD_ADDRESS;
UINTN mapsize,descsize;
UINT32 desver;
EFI_STATUS status;
EFI_MEMORY_DESCRIPTOR emd[1024];
mapsize=1024*sizeof(emd);
status=BS->AllocatePages(AllocateAnyPages,EfiLoaderData,/*(HOSSize>>12)+1*/ 1,p);
if(EFI_ERROR(status)){
220,18 → 150,10
return EFI_SUCCESS;
}
UINTN no_entryes;
void * mds;
mds=LibMemoryMap(&no_entryes,&cookie,&descsize,&desver);
for(i=0;i<no_entryes;i++)
{
unsigned int type=*((unsigned int *)(mds+i*descsize+MEM_MAP_DESCRIPTOR_OFFSET_TYPE));
unsigned long long base=*((unsigned long long *)(mds+i*descsize+MEM_MAP_DESCRIPTOR_OFFSET_BASE));
unsigned long long pages=*((unsigned long long *)(mds+i*descsize+MEM_MAP_DESCRIPTOR_OFFSET_PAGES));
Print(L"T:%02d %016llX %016llX\n",type,base,pages*EFI_PAGE_SIZE);
status=BS->GetMemoryMap(&mapsize,emd,&cookie,&descsize,&desver);
if(EFI_ERROR(status)){
Print(L"Error 1\n");
return EFI_SUCCESS;
}
status=BS->ExitBootServices(image,cookie);
if(EFI_ERROR(status)){
239,62 → 161,12
return EFI_SUCCESS;
}
}
int a;
for(a=0;a<HOSSize;a++){
((char *)(0x4400000))[a]=HOS[a];
}
bootinfo->sapic=(unsigned long *)sapic;
bootinfo->wakeup_intno=wakeup_intno;
bootinfo->sys_freq=sys_freq;
bootinfo->freq_scale=freq_scale;
bootinfo->hello_configured=1;
 
 
bootinfo->memmap_items=0;
for(i=0;i<no_entryes;i++)
{
unsigned int type=*((unsigned int *)(mds+i*descsize+MEM_MAP_DESCRIPTOR_OFFSET_TYPE));
unsigned long long base=*((unsigned long long *)(mds+i*descsize+MEM_MAP_DESCRIPTOR_OFFSET_BASE));
unsigned long long pages=*((unsigned long long *)(mds+i*descsize+MEM_MAP_DESCRIPTOR_OFFSET_PAGES));
switch (type)
{
case EfiConventionalMemory:
bootinfo->memmap[bootinfo->memmap_items].type=EFI_MEMMAP_FREE_MEM;
bootinfo->memmap[bootinfo->memmap_items].base=base;
bootinfo->memmap[bootinfo->memmap_items].size=pages*EFI_PAGE_SIZE;
bootinfo->memmap_items++;
break;
case EfiMemoryMappedIO:
bootinfo->memmap[bootinfo->memmap_items].type=EFI_MEMMAP_IO;
bootinfo->memmap[bootinfo->memmap_items].base=base;
bootinfo->memmap[bootinfo->memmap_items].size=pages*EFI_PAGE_SIZE;
bootinfo->memmap_items++;
break;
case EfiMemoryMappedIOPortSpace:
bootinfo->memmap[bootinfo->memmap_items].type=EFI_MEMMAP_IO_PORTS;
bootinfo->memmap[bootinfo->memmap_items].base=base;
bootinfo->memmap[bootinfo->memmap_items].size=pages*EFI_PAGE_SIZE;
bootinfo->memmap_items++;
break;
default :
break;
}
 
}
 
 
//Run Kernel
asm volatile(
305,6 → 177,8
);
//Not reached
while(1){
((volatile int *)(0x80000000000b8000))[0]++;
}
return EFI_SUCCESS;
}
/branches/network/boot/arch/ia64/loader/gefi/Make.defaults
27,19 → 27,30
#
INSTALLROOT=/usr/local
 
TOPDIR := $(shell pwd)
TOPDIR := $(shell if [ "$$PWD" != "" ]; then echo $$PWD; else pwd; fi)
 
ARCH = ia64
INCDIR = -I. -I$(CDIR)/inc -I$(CDIR)/inc/$(ARCH) -I$(CDIR)/inc/protocol
ARCH = $(shell uname -m | sed s,i[3456789]86,ia32,)
INCDIR = -I. -I$(CDIR)/inc -I$(CDIR)/inc/$(ARCH) -I$(CDIR)/inc/protocol
CPPFLAGS = -DCONFIG_$(ARCH)
CFLAGS = -O2 -fpic -Wall -fshort-wchar -fno-strict-aliasing -fno-merge-constants -frename-registers -mfixed-range=f32-f127
LDFLAGS = -nostdlib
INSTALL = install
CFLAGS = -O2 -fpic -Wall -fshort-wchar -fno-strict-aliasing -fno-merge-constants
LDFLAGS = -nostdlib
INSTALL = install
 
CC = $(prefix)gcc
AS = $(prefix)as
LD = $(prefix)ld
AR = $(prefix)ar
RANLIB = $(prefix)ranlib
OBJCOPY = $(prefix)objcopy
OBJDUMP = $(prefix)objdump
GCC_VERSION=$(shell $(CROSS_COMPILE)$(CC) -v 2>&1 | fgrep 'gcc version' | cut -f3 -d' ' | cut -f1 -d'.')
 
# prefix =
CC = $(prefix)gcc
AS = $(prefix)as
LD = $(prefix)ld
AR = $(prefix)ar
RANLIB = $(prefix)ranlib
OBJCOPY = $(prefix)objcopy
OBJDUMP = $(prefix)objdump
 
 
ifneq ($(GCC_VERSION),2)
CFLAGS += -frename-registers
endif
 
CFLAGS += -mfixed-range=f32-f127
 
/branches/network/boot/arch/ia64/loader/gefi/Makefile
23,9 → 23,9
 
include Make.defaults
 
SUBDIRS = lib gnuefi inc
SUBDIRS = lib gnuefi inc apps
 
all: $(SUBDIRS)
all: check_gcc $(SUBDIRS)
 
$(SUBDIRS):
$(MAKE) -C $@
39,4 → 39,13
 
.PHONY: $(SUBDIRS) clean depend
 
#
# on both platforms you must use gcc 3.0 or higher
#
check_gcc:
ifeq ($(GCC_VERSION),2)
@echo "you need to use a version of gcc >= 3.0, you are using `$(CC) --version`"
@exit 1
endif
 
include Make.rules
/branches/network/boot/arch/ia64/loader/_link.ld.in
12,14 → 12,11
*(.data); /* initialized data */
_got = . ;
*(.got .got.*);
*(.bss); /* uninitialized static variables */
*(COMMON);
}
 
.sboot : {
*(.sdata);
*(.sdata2);
*(.sbss);
*(.bss); /* uninitialized static variables */
*(COMMON);
}
/DISCARD/ : {
/branches/network/boot/arch/ia64/loader/boot.S
34,7 → 34,6
.global start
start:
 
 
mov ar.rsc = r0
# movl r8 = (VRN_KERNEL << VRN_SHIFT) ;;
movl r1 = 0x4400000
58,22 → 57,6
mov b1 = r18 ;;
br.call.sptk.many b0 = b1
 
.align 512
ap_start:
 
 
ap_loop:
movl r18=0x4405000;;
mov b1 = r18 ;;
br.call.sptk.many b0 = b1;;
 
.align 1024
 
.align 4096
.global binfo
binfo:
 
 
.bss #on this line is ".bss", it cannot be seen in my mcedit :-(
 
 
/branches/network/boot/arch/ia64/loader/asm.S
37,5 → 37,7
alloc loc0 = ar.pfs, 1, 1, 0, 0
movl r8 = 0x4404000;;
mov b1 = r8 ;;
mov r1 = in0; #Save bootinfo prt
mov r1 = in0;
br.call.sptk.many b0 = b1;;
.global ofw
ofw:
/branches/network/boot/arch/ia64/loader/main.c
1,6 → 1,6
/*
* Copyright (c) 2005 Martin Decky
* Copyright (c) 2006 Jakub Jermar
* Copyright (c) 2006 Jakub Jermar
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
33,13 → 33,11
#include "_components.h"
#include <align.h>
#include <balloc.h>
#include <macros.h>
#include <string.h>
 
extern bootinfo_t binfo;
bootinfo_t bootinfo;
component_t components[COMPONENTS];
 
char *release = STRING(RELEASE);
char *release = RELEASE;
 
void write(const char *str, const int len)
{
46,22 → 44,15
return;
}
 
#define DEFAULT_MEMORY_BASE 0x4000000
#define DEFAULT_MEMORY_SIZE 0x4000000
#define DEFAULT_LEGACY_IO_BASE 0x00000FFFFC000000
#define DEFAULT_LEGACY_IO_SIZE 0x4000000
 
#define DEFAULT_FREQ_SCALE 0x0000000100000001 /* 1/1 */
#define DEFAULT_SYS_FREQ 100000000 /* 100MHz */
 
#ifdef REVISION
char *revision = ", revision " STRING(REVISION);
char *revision = ", revision " REVISION;
#else
char *revision = "";
#endif
 
#ifdef TIMESTAMP
char *timestamp = "\nBuilt on " STRING(TIMESTAMP);
char *timestamp = "\nBuilt on " TIMESTAMP;
#else
char *timestamp = "";
#endif
69,18 → 60,26
/** Print version information. */
static void version_print(void)
{
printf("HelenOS IA64 Bootloader\nRelease %s%s%s\n"
"Copyright (c) 2006 HelenOS project\n", release, revision,
timestamp);
printf("HelenOS IA64 Bootloader\nRelease %s%s%s\nCopyright (c) 2006 HelenOS project\n", release, revision, timestamp);
}
 
void bootstrap(void)
{
 
int ii;
bootinfo_t *bootinfo = &binfo;
//for(ii=0;ii<KERNEL_SIZE;ii++) ((char *)(0x100000))[ii] = ((char *)KERNEL_START)[ii+1];
//((int *)(0x100000))[0]++;
 
 
 
version_print();
 
init_components(components);
 
printf("\nSystem info\n");
92,46 → 91,20
printf(" %P: %s image (size %d bytes)\n", components[i].start,
components[i].name, components[i].size);
 
if (!bootinfo->hello_configured) {
/*
* Load configuration defaults for simulators.
*/
bootinfo->memmap_items = 0;
bootinfo->memmap[bootinfo->memmap_items].base =
DEFAULT_MEMORY_BASE;
bootinfo->memmap[bootinfo->memmap_items].size =
DEFAULT_MEMORY_SIZE;
bootinfo->memmap[bootinfo->memmap_items].type =
EFI_MEMMAP_FREE_MEM;
bootinfo->memmap_items++;
 
bootinfo->memmap[bootinfo->memmap_items].base =
DEFAULT_LEGACY_IO_BASE;
bootinfo->memmap[bootinfo->memmap_items].size =
DEFAULT_LEGACY_IO_SIZE;
bootinfo->memmap[bootinfo->memmap_items].type =
EFI_MEMMAP_IO_PORTS;
bootinfo->memmap_items++;
bootinfo->freq_scale = DEFAULT_FREQ_SCALE;
bootinfo->sys_freq = DEFAULT_SYS_FREQ;
}
bootinfo.taskmap.count = 0;
for (i = 0; i < COMPONENTS; i++) {
 
bootinfo->taskmap.count = 0;
for (i = 0; i < COMPONENTS; i++) {
if (i > 0) {
bootinfo->taskmap.tasks[bootinfo->taskmap.count].addr =
components[i].start;
bootinfo->taskmap.tasks[bootinfo->taskmap.count].size =
components[i].size;
strncpy(bootinfo->taskmap.tasks[
bootinfo->taskmap.count].name,
components[i].name, BOOTINFO_TASK_NAME_BUFLEN);
bootinfo->taskmap.count++;
bootinfo.taskmap.tasks[bootinfo.taskmap.count].addr = components[i].start;
bootinfo.taskmap.tasks[bootinfo.taskmap.count].size = components[i].size;
bootinfo.taskmap.count++;
}
}
 
jump_to_kernel(bootinfo);
 
jump_to_kernel(&bootinfo);
 
 
}
 
/branches/network/boot/arch/ia64/loader/main.h
29,14 → 29,29
#ifndef BOOT_ia64_MAIN_H_
#define BOOT_ia64_MAIN_H_
 
#include <ofw.h>
#include <ofw_tree.h>
#include <types.h>
#include <../../../../kernel/arch/ia64/include/bootinfo.h>
 
 
#define CONFIG_INIT_TASKS 32
 
typedef struct {
void *addr;
size_t size;
} init_task_t;
typedef struct {
count_t count;
init_task_t tasks[CONFIG_INIT_TASKS];
} init_t;
 
typedef struct {
init_t taskmap;
} bootinfo_t;
 
extern bootinfo_t bootinfo;
 
extern void start(void);
extern void bootstrap(void);
 
/branches/network/boot/arch/ia64/Makefile.inc
26,17 → 26,39
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
 
#ifeq ($(MACHINE),ski)
 
 
 
#VMAXLMA_SRC = tools/ia64/vmaxlma.c
#build: $(BASE)/kernel.bin
#echo Building SKI
#$(BASE)/kernel.bin: $(KERNELDIR)/kernel.bin vmaxlma
# cp $(KERNELDIR)/kernel.bin $(BASE)/kernel.bin
# ./vmaxlma $(BASE)/kernel.bin
#vmaxlma: $(VMAXLMA_SRC)
# $(CC) $(VMAXLMA_SRC) -o $@
#clean:
# -rm -f $(BASE)/kernel.bin vmaxlma
 
 
#else
 
 
build: $(BASE)/image.boot
 
$(BASE)/image.boot: depend arch/$(BARCH)/loader/image.boot
cp arch/$(BARCH)/loader/image.boot $(BASE)/image.boot
$(BASE)/image.boot: depend arch/$(ARCH)/loader/image.boot
cp arch/$(ARCH)/loader/image.boot $(BASE)/image.boot
 
depend:
-rm arch/$(BARCH)/loader/image.boot
-rm arch/$(ARCH)/loader/image.boot
 
arch/$(BARCH)/loader/image.boot:
make -C arch/$(BARCH)/loader COMPILER=$(COMPILER) KERNELDIR=../../../$(KERNELDIR) USPACEDIR=../../../$(USPACEDIR)
arch/$(ARCH)/loader/image.boot:
make -C arch/$(ARCH)/loader COMPILER=$(COMPILER) KERNELDIR=../../../$(KERNELDIR) USPACEDIR=../../../$(USPACEDIR) "DEFS=$(DEFS)"
 
clean: generic_clean
make -C arch/$(BARCH)/loader clean COMPILER=$(COMPILER) KERNELDIR=../../../$(KERNELDIR) USPACEDIR=../../../$(USPACEDIR)
make -C arch/$(ARCH)/loader clean COMPILER=$(COMPILER) KERNELDIR=../../../$(KERNELDIR) USPACEDIR=../../../$(USPACEDIR) "DEFS=$(DEFS)"
-rm -f $(BASE)/image.boot
 
 
#endif
/branches/network/boot/arch/arm32/loader/Makefile
27,7 → 27,7
#
 
include ../../../../version
-include ../../../../Makefile.config
include ../../../Makefile.config
 
## Toolchain configuration
#
57,8 → 57,20
OBJDUMP = $(TOOLCHAIN_DIR)/$(TARGET)-objdump
endif
 
CFLAGS = -DRELEASE=$(RELEASE) -I. -I../../../generic -I../../.. -imacros ../../../../config.h -nostdinc -nostdlib -fno-builtin -Werror-implicit-function-declaration -Wmissing-prototypes -Werror -O3 -pipe
CFLAGS = -DRELEASE=\"$(RELEASE)\" -I. -I../../../generic -I../../.. -nostdinc -nostdlib -fno-builtin -Werror-implicit-function-declaration -Wmissing-prototypes -Werror -O3
 
ifdef REVISION
CFLAGS += "-DREVISION=\"$(REVISION)\""
endif
 
ifdef TIMESTAMP
CFLAGS += "-DTIMESTAMP=\"$(TIMESTAMP)\""
endif
 
ifdef MACHINE
CFLAGS += "-DMACHINE=$(MACHINE)"
endif
 
SOURCES = \
main.c \
boot.S \
67,7 → 79,6
print/gxemul.c \
_components.c \
../../../generic/printf.c \
../../../generic/string.c \
../../../genarch/division.c
 
COMPONENTS = \
85,17 → 96,14
COMPONENTS += $(USPACEDIR)/srv/fs/fat/fat
endif
 
RD_SRVS = \
RD_TASKS = \
$(USPACEDIR)/srv/fb/fb \
$(USPACEDIR)/srv/kbd/kbd \
$(USPACEDIR)/srv/console/console \
$(USPACEDIR)/srv/fs/tmpfs/tmpfs \
$(USPACEDIR)/srv/fs/fat/fat
 
RD_APPS = \
$(USPACEDIR)/srv/fs/fat/fat \
$(USPACEDIR)/app/tetris/tetris \
$(USPACEDIR)/app/tester/tester \
$(USPACEDIR)/app/trace/trace \
$(USPACEDIR)/app/klog/klog \
$(USPACEDIR)/app/bdsh/bdsh
 
112,29 → 120,23
$(LD) -no-check-sections -N -T _link.ld $(COMPONENT_OBJECTS) initrd.o $(OBJECTS) -o $@
 
depend:
-makedepend -f - -- $(DEFS) $(CFLAGS) -- $(SOURCES) > Makefile.depend 2> /dev/null
-makedepend $(DEFS) $(CFLAGS) -f - $(SOURCES) > Makefile.depend 2> /dev/null
 
clean:
-for file in $(RD_SRVS) ; do \
rm -f $(USPACEDIR)/dist/srv/`basename $$file` ; \
-for task in $(RD_TASKS) ; do \
rm -f $(USPACEDIR)/dist/sbin/`basename $$task` ; \
done
-for file in $(RD_APPS) ; do \
rm -f $(USPACEDIR)/dist/app/`basename $$file` ; \
done
-rm -f _components.h _components.c _link.ld $(COMPONENT_OBJECTS) initrd.o $(OBJECTS) initrd.img image.boot Makefile.depend
 
_components.h _components.c _link.ld $(COMPONENT_OBJECTS) initrd.o: $(COMPONENTS) $(RD_SRVS) $(RD_APPS) _link.ld.in
for file in $(RD_SRVS) ; do \
cp $$file $(USPACEDIR)/dist/srv/ ; \
_components.h _components.c _link.ld $(COMPONENT_OBJECTS) initrd.o: $(COMPONENTS) _link.ld.in
for task in $(RD_TASKS) ; do \
cp $$task $(USPACEDIR)/dist/sbin/ ; \
done
for file in $(RD_APPS) ; do \
cp $$file $(USPACEDIR)/dist/app/ ; \
done
ifeq ($(RDFMT),tmpfs)
../../../../tools/mktmpfs.py $(USPACEDIR)/dist/ initrd.fs
endif
ifeq ($(RDFMT),fat)
../../../../tools/mkfat.py $(USPACEDIR)/dist/ initrd.fs
../../../../tools/mkfat.sh $(USPACEDIR)/dist/ initrd.fs
endif
../../../../tools/mkhord.py 4096 initrd.fs initrd.img
rm initrd.fs
/branches/network/boot/arch/arm32/loader/boot.S
53,3 → 53,5
# make place for PTL0 page table
page_table:
.skip PTL0_ENTRIES * PTL0_ENTRY_SIZE
 
 
/branches/network/boot/arch/arm32/loader/main.c
32,16 → 32,13
*/
/** @file
* @brief Bootstrap.
*/
*/
 
 
#include "main.h"
#include "main.h"
#include "asm.h"
#include "_components.h"
#include <printf.h>
#include <align.h>
#include <macros.h>
#include <string.h>
 
#include "mm.h"
 
49,16 → 46,16
#define KERNEL_VIRTUAL_ADDRESS 0x80200000
 
 
char *release = STRING(RELEASE);
char *release = RELEASE;
 
#ifdef REVISION
char *revision = ", revision " STRING(REVISION);
char *revision = ", revision " REVISION;
#else
char *revision = "";
#endif
 
#ifdef TIMESTAMP
char *timestamp = "\nBuilt on " STRING(TIMESTAMP);
char *timestamp = "\nBuilt on " TIMESTAMP;
#else
char *timestamp = "";
#endif
104,8 → 101,6
if (i > 0) {
bootinfo.tasks[bootinfo.cnt].addr = ((void *) KERNEL_VIRTUAL_ADDRESS) + top;
bootinfo.tasks[bootinfo.cnt].size = components[i].size;
strncpy(bootinfo.tasks[bootinfo.cnt].name,
components[i].name, BOOTINFO_TASK_NAME_BUFLEN);
bootinfo.cnt++;
}
top += components[i].size;
113,7 → 108,7
}
printf("\nBooting the kernel...\n");
jump_to_kernel((void *) KERNEL_VIRTUAL_ADDRESS, &bootinfo);
jump_to_kernel((void *) KERNEL_VIRTUAL_ADDRESS, &bootinfo, sizeof(bootinfo));
}
 
/** @}
/branches/network/boot/arch/arm32/loader/asm.h
32,7 → 32,7
*/
/** @file
* @brief Functions implemented in assembly.
*/
*/
 
 
#ifndef BOOT_arm32_ASM_H
40,10 → 40,10
 
 
/** Copies cnt bytes from dst to src.
*
*
* @param dst Destination address.
* @param src Source address.
* @param cnt Count of bytes to be copied.
* @param cnt Count of bytes to be copied.
*/
#define memcpy(dst, src, cnt) __builtin_memcpy((dst), (src), (cnt))
 
58,11 → 58,12
 
/** Jumps to the kernel entry point.
*
* @param entry Kernel entry point address.
* @param bootinfo Structure holding information about loaded tasks.
*
* @param entry Kernel entry point address.
* @param bootinfo Structure holding information about loaded tasks.
* @param bootinfo_size Size of the bootinfo structure.
*/
extern void jump_to_kernel(void *entry, void *bootinfo) __attribute__((noreturn));
extern void jump_to_kernel(void *entry, void *bootinfo,
unsigned int bootinfo_size) __attribute__((noreturn));
 
 
#endif
/branches/network/boot/arch/arm32/loader/main.h
32,7 → 32,7
*/
/** @file
* @brief Boot related declarations.
*/
*/
 
 
#ifndef BOOT_arm32_MAIN_H
39,13 → 39,17
#define BOOT_arm32_MAIN_H
 
 
/** Aligns to the nearest higher address.
*
* @param addr Address or number to be aligned.
* @param align Size of alignment, must be power of 2.
*/
#define ALIGN_UP(addr, align) (((addr) + ((align) - 1)) & ~((align) - 1))
 
/** Maximum number of tasks in the #bootinfo_t struct. */
#define TASKMAP_MAX_RECORDS 32
 
/** Size of buffer for storing task name in task_t. */
#define BOOTINFO_TASK_NAME_BUFLEN 32
 
 
/** Struct holding information about single loaded task. */
typedef struct {
/** Address where the task was placed. */
52,8 → 56,6
void *addr;
/** Size of the task's binary. */
unsigned int size;
/** Task name. */
char name[BOOTINFO_TASK_NAME_BUFLEN];
} task_t;
 
 
72,3 → 74,4
 
/** @}
*/
 
/branches/network/boot/arch/arm32/Makefile.inc
28,15 → 28,15
 
build: $(BASE)/image.boot
 
$(BASE)/image.boot: depend arch/$(BARCH)/loader/image.boot
cp arch/$(BARCH)/loader/image.boot $(BASE)/image.boot
$(BASE)/image.boot: depend arch/$(ARCH)/loader/image.boot
cp arch/$(ARCH)/loader/image.boot $(BASE)/image.boot
 
depend:
-rm arch/$(BARCH)/loader/image.boot
-rm arch/$(ARCH)/loader/image.boot
 
arch/$(BARCH)/loader/image.boot:
make -C arch/$(BARCH)/loader COMPILER=$(COMPILER) KERNELDIR=../../../$(KERNELDIR) USPACEDIR=../../../$(USPACEDIR)
arch/$(ARCH)/loader/image.boot:
make -C arch/$(ARCH)/loader COMPILER=$(COMPILER) KERNELDIR=../../../$(KERNELDIR) USPACEDIR=../../../$(USPACEDIR) IMAGE=$(IMAGE)
 
clean:
make -C arch/$(BARCH)/loader clean COMPILER=$(COMPILER) KERNELDIR=../../../$(KERNELDIR) USPACEDIR=../../../$(USPACEDIR)
make -C arch/$(ARCH)/loader clean COMPILER=$(COMPILER) KERNELDIR=../../../$(KERNELDIR) USPACEDIR=../../../$(USPACEDIR) IMAGE=$(IMAGE)
-rm -f $(BASE)/image.boot
/branches/network/boot/arch/ppc32/loader/Makefile
27,7 → 27,7
#
 
include ../../../../version
-include ../../../../Makefile.config
include ../../../Makefile.config
 
## Toolchain configuration
#
57,8 → 57,16
OBJDUMP = $(TOOLCHAIN_DIR)/$(TARGET)-objdump
endif
 
CFLAGS = -DRELEASE=$(RELEASE) -I. -I../../../generic -I../../../genarch -imacros ../../../../config.h -nostdinc -nostdlib -fno-builtin -Werror-implicit-function-declaration -Wmissing-prototypes -Werror -O3 -mcpu=powerpc -msoft-float -m32 -pipe
CFLAGS = -DRELEASE=\"$(RELEASE)\" -I. -I../../../generic -I../../../genarch -nostdinc -nostdlib -fno-builtin -Werror-implicit-function-declaration -Wmissing-prototypes -Werror -O3 -mcpu=powerpc -msoft-float -m32
 
ifdef REVISION
CFLAGS += "-DREVISION=\"$(REVISION)\""
endif
 
ifdef TIMESTAMP
CFLAGS += "-DTIMESTAMP=\"$(TIMESTAMP)\""
endif
 
SOURCES = \
main.c \
ofwarch.c \
65,7 → 73,6
_components.c \
../../../genarch/ofw.c \
../../../generic/printf.c \
../../../generic/string.c \
asm.S \
boot.S
 
76,7 → 83,7
$(USPACEDIR)/app/init/init \
$(USPACEDIR)/srv/devmap/devmap \
$(USPACEDIR)/srv/rd/rd \
$(USPACEDIR)/srv/vfs/vfs
$(USPACEDIR)/srv/vfs/vfs
ifeq ($(RDFMT),tmpfs)
COMPONENTS += $(USPACEDIR)/srv/fs/tmpfs/tmpfs
endif
84,17 → 91,14
COMPONENTS += $(USPACEDIR)/srv/fs/fat/fat
endif
 
RD_SRVS = \
RD_TASKS = \
$(USPACEDIR)/srv/fb/fb \
$(USPACEDIR)/srv/kbd/kbd \
$(USPACEDIR)/srv/console/console \
$(USPACEDIR)/srv/fs/tmpfs/tmpfs \
$(USPACEDIR)/srv/fs/fat/fat
 
RD_APPS = \
$(USPACEDIR)/srv/fs/fat/fat \
$(USPACEDIR)/app/tetris/tetris \
$(USPACEDIR)/app/tester/tester \
$(USPACEDIR)/app/trace/trace \
$(USPACEDIR)/app/klog/klog \
$(USPACEDIR)/app/bdsh/bdsh
 
111,29 → 115,23
$(LD) -no-check-sections -N -T _link.ld $(COMPONENT_OBJECTS) initrd.o $(OBJECTS) -o $@
 
depend:
-makedepend -f - -- $(DEFS) $(CFLAGS) -- $(SOURCES) > Makefile.depend 2> /dev/null
-makedepend $(DEFS) $(CFLAGS) -f - $(SOURCES) > Makefile.depend 2> /dev/null
 
clean:
-for file in $(RD_SRVS) ; do \
rm -f $(USPACEDIR)/dist/srv/`basename $$file` ; \
-for task in $(RD_TASKS) ; do \
rm -f $(USPACEDIR)/dist/sbin/`basename $$task` ; \
done
-for file in $(RD_APPS) ; do \
rm -f $(USPACEDIR)/dist/app/`basename $$file` ; \
done
-rm -f _components.h _components.c _link.ld $(COMPONENT_OBJECTS) initrd.o $(OBJECTS) initrd.img image.boot Makefile.depend
 
_components.h _components.c _link.ld $(COMPONENT_OBJECTS) initrd.o: $(COMPONENTS) $(RD_SRVS) $(RD_APPS) _link.ld.in
for file in $(RD_SRVS) ; do \
cp $$file $(USPACEDIR)/dist/srv/ ; \
_components.h _components.c _link.ld $(COMPONENT_OBJECTS) initrd.o: $(COMPONENTS) $(RD_TASKS) _link.ld.in
for task in $(RD_TASKS) ; do \
cp $$task $(USPACEDIR)/dist/sbin/ ; \
done
for file in $(RD_APPS) ; do \
cp $$file $(USPACEDIR)/dist/app/ ; \
done
ifeq ($(RDFMT),tmpfs)
../../../../tools/mktmpfs.py $(USPACEDIR)/dist/ initrd.fs
endif
ifeq ($(RDFMT),fat)
../../../../tools/mkfat.py $(USPACEDIR)/dist/ initrd.fs
../../../../tools/mkfat.sh $(USPACEDIR)/dist/ initrd.fs
endif
../../../../tools/mkhord.py 4096 initrd.fs initrd.img
rm initrd.fs
/branches/network/boot/arch/ppc32/loader/_link.ld.in
1,9 → 1,9
OUTPUT_FORMAT("elf32-powerpc")
OUTPUT_ARCH(powerpc:common)
ENTRY(start)
 
OUTPUT_FORMAT("elf32-powerpc")
OUTPUT_ARCH(powerpc:common)
ENTRY(start)
SECTIONS {
.boot 0x01000000: AT (0) {
.boot 0x10000000: AT (0) {
*(BOOTSTRAP);
*(REALMODE);
*(.text);
10,12 → 10,12
*(.rodata);
*(.rodata.*);
*(.data); /* initialized data */
*(.data); /* initialized data */
*(.sdata);
*(.sdata2);
*(.sbss);
*(.bss); /* uninitialized static variables */
*(COMMON); /* global variables */
*(.bss); /* uninitialized static variables */
*(COMMON); /* global variables */
[[COMPONENTS]]
}
}
/branches/network/boot/arch/ppc32/loader/main.c
32,8 → 32,6
#include "_components.h"
#include <ofw.h>
#include <align.h>
#include <macros.h>
#include <string.h>
 
#define HEAP_GAP 1024000
 
74,16 → 72,16
}
}
 
char *release = STRING(RELEASE);
char *release = RELEASE;
 
#ifdef REVISION
char *revision = ", revision " STRING(REVISION);
char *revision = ", revision " REVISION;
#else
char *revision = "";
#endif
 
#ifdef TIMESTAMP
char *timestamp = "\nBuilt on " STRING(TIMESTAMP);
char *timestamp = "\nBuilt on " TIMESTAMP;
#else
char *timestamp = "";
#endif
91,7 → 89,7
/** Print version information. */
static void version_print(void)
{
printf("HelenOS PPC32 Bootloader\nRelease %s%s%s\nCopyright (c) 2006 HelenOS project\n\n", release, revision, timestamp);
printf("HelenOS PPC32 Bootloader\nRelease %s%s%s\nCopyright (c) 2006 HelenOS project\n", release, revision, timestamp);
}
 
void bootstrap(void)
109,29 → 107,29
check_align(&trans, "translation table");
if (!ofw_memmap(&bootinfo.memmap)) {
printf("Error: Unable to get memory map, halting.\n");
printf("Error: unable to get memory map, halting.\n");
halt();
}
if (bootinfo.memmap.total == 0) {
printf("Error: No memory detected, halting.\n");
printf("Error: no memory detected, halting.\n");
halt();
}
if (!ofw_screen(&bootinfo.screen))
printf("Warning: Unable to get screen properties.\n");
if (!ofw_screen(&bootinfo.screen)) {
printf("Error: unable to get screen properties, halting.\n");
halt();
}
if (!ofw_macio(&bootinfo.macio))
printf("Warning: Unable to get macio properties.\n");
if (!ofw_keyboard(&bootinfo.keyboard)) {
printf("Error: unable to get keyboard properties, halting.\n");
halt();
}
printf("Device statistics\n");
printf("\nDevice statistics\n");
printf(" screen at %L, resolution %dx%d, %d bpp (scanline %d bytes)\n", bootinfo.screen.addr, bootinfo.screen.width, bootinfo.screen.height, bootinfo.screen.bpp, bootinfo.screen.scanline);
printf(" keyboard at %L (size %d bytes)\n", bootinfo.keyboard.addr, bootinfo.keyboard.size);
if (bootinfo.screen.addr)
printf(" screen at %L, resolution %dx%d, %d bpp (scanline %d bytes)\n", bootinfo.screen.addr, bootinfo.screen.width, bootinfo.screen.height, bootinfo.screen.bpp, bootinfo.screen.scanline);
if (bootinfo.macio.addr)
printf(" macio at %L (size %d bytes)\n", bootinfo.macio.addr, bootinfo.macio.size);
void *real_mode_pa = ofw_translate(&real_mode);
void *trans_pa = ofw_translate(&trans);
void *bootinfo_pa = ofw_translate(&bootinfo);
167,9 → 165,6
if (j == 0) {
bootinfo.taskmap.tasks[bootinfo.taskmap.count].addr = (void *) (pages << PAGE_WIDTH);
bootinfo.taskmap.tasks[bootinfo.taskmap.count].size = components[i].size;
strncpy(bootinfo.taskmap.tasks[bootinfo.taskmap.count].name,
components[i].name, BOOTINFO_TASK_NAME_BUFLEN);
 
bootinfo.taskmap.count++;
}
}
181,8 → 176,6
fix_overlap(&trans, &trans_pa, "translation table", &top);
fix_overlap(&bootinfo, &bootinfo_pa, "boot info", &top);
ofw_setup_palette();
printf("\nBooting the kernel...\n");
jump_to_kernel(bootinfo_pa, sizeof(bootinfo), trans_pa, pages << PAGE_WIDTH, real_mode_pa, (void *) bootinfo.screen.addr, bootinfo.screen.scanline);
}
/branches/network/boot/arch/ppc32/loader/asm.S
28,26 → 28,8
 
#include "asm.h"
#include "regname.h"
#include "debug.inc"
 
.macro SMC_COHERENCY addr
dcbst 0, \addr
sync
icbi 0, \addr
sync
isync
.endm
 
.macro FLUSH_DCACHE addr
dcbst 0, \addr
sync
isync
.endm
 
.macro TLB_FLUSH reg
tlbie \reg
addi \reg, \reg, 0x1000
.endm
 
.text
 
.global halt
158,6 → 140,9
 
real_mode:
DEBUG_INIT
DEBUG_real_mode
# copy kernel to proper location
#
# r5 = trans (pa)
178,13 → 163,14
mtctr r31
lwz r29, 0(r5)
DEBUG_INIT
DEBUG_copy_loop
copy_loop:
lwz r28, 0(r29)
stw r28, 0(r30)
SMC_COHERENCY r30
addi r29, r29, 4
addi r30, r30, 4
subi r6, r6, 4
194,11 → 180,15
bdnz copy_loop
DEBUG_end_copy_loop
addi r5, r5, 4
b page_copy
copy_end:
DEBUG_segments
# initially fill segment registers
li r31, 0
206,7 → 196,7
li r29, 8
mtctr r29
li r30, 0 # ASID 0 (VSIDs 0 .. 7)
 
seg_fill_uspace:
mtsrin r30, r31
230,6 → 220,8
# invalidate block address translation registers
DEBUG_bat
li r30, 0
mtspr ibat0u, r30
259,6 → 251,8
# create empty Page Hash Table
# on top of memory, size 64 KB
DEBUG_pht
lwz r31, 0(r3) # r31 = memory size
lis r30, 65536@h
280,7 → 274,6
# write zeroes
stw r29, 0(r31)
FLUSH_DCACHE r31
addi r31, r31, 4
subi r30, r30, 4
289,6 → 282,8
beq clear_end
bdnz pht_clear
 
DEBUG_end_pht_clear
clear_end:
296,6 → 291,8
# create BAT identity mapping
DEBUG_mapping
lwz r31, 0(r3) # r31 = memory size
lis r29, 0x0002
318,6 → 315,8
bdnz bat_mask
DEBUG_bat_mask
andi. r31, r31, 0x07ff # mask = mask & 0x07ff (BAT can map up to 256 MB)
li r29, 2
337,90 → 336,16
mtspr dbat0l, r30
no_bat:
 
#endif
# flush TLB
DEBUG_tlb
li r31, 0
sync
tlbia
tlbsync
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
DEBUG_prepare
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
TLB_FLUSH r31
eieio
tlbsync
sync
# start the kernel
#
# pc = KERNEL_START_ADDR
448,6 → 373,8
sync
isync
DEBUG_rfi
rfi
 
.align PAGE_WIDTH
/branches/network/boot/arch/ppc32/loader/regname.h
208,13 → 208,11
#define hid0 1008
 
/* MSR bits */
#define msr_dr (1 << 4)
#define msr_ir (1 << 5)
#define msr_pr (1 << 14)
#define msr_ir (1 << 4)
#define msr_dr (1 << 5)
#define msr_ee (1 << 15)
 
/* HID0 bits */
#define hid0_sten (1 << 24)
#define hid0_ice (1 << 15)
#define hid0_dce (1 << 14)
#define hid0_icfi (1 << 11)
/branches/network/boot/arch/ppc32/loader/main.h
33,17 → 33,9
 
#define TASKMAP_MAX_RECORDS 32
 
/** Size of buffer for storing task name in task_t. */
#define BOOTINFO_TASK_NAME_BUFLEN 32
 
/** Struct holding information about single loaded task. */
typedef struct {
/** Address where the task was placed. */
void *addr;
/** Size of the task's binary. */
unsigned int size;
/** Task name. */
char name[BOOTINFO_TASK_NAME_BUFLEN];
} task_t;
 
typedef struct {
55,7 → 47,7
memmap_t memmap;
taskmap_t taskmap;
screen_t screen;
macio_t macio;
keyboard_t keyboard;
} bootinfo_t;
 
extern void start(void);
/branches/network/boot/arch/ppc32/loader/ofwarch.c
39,32 → 39,25
 
void write(const char *str, const int len)
{
int i;
for (i = 0; i < len; i++) {
if (str[i] == '\n')
ofw_write("\r", 1);
ofw_write(&str[i], 1);
}
ofw_write(str, len);
}
 
int ofw_macio(macio_t *macio)
int ofw_keyboard(keyboard_t *keyboard)
{
char device_name[BUF_SIZE];
if (ofw_get_property(ofw_aliases, "macio", device_name, sizeof(device_name)) <= 0)
return false;
phandle device = ofw_find_device(device_name);
if (device == -1)
return false;
pci_reg_t pci_reg;
if (ofw_get_property(device, "assigned-addresses", &pci_reg, sizeof(pci_reg)) <= 0)
pci_reg_t macio;
if (ofw_get_property(device, "assigned-addresses", &macio, sizeof(macio)) <= 0)
return false;
macio->addr = (void *) pci_reg.addr.addr_lo;
macio->size = pci_reg.size_lo;
keyboard->addr = (void *) macio.addr.addr_lo;
keyboard->size = macio.size_lo;
 
return true;
}
/branches/network/boot/arch/ppc32/loader/debug.inc
0,0 → 1,11479
#
# Copyright (C) 2006 Martin Decky
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# - Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# - Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# - The name of the author may not be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
 
.macro DEBUG_INIT
#ifdef CONFIG_DEBUG
lis r11, 65535
ori r11, r11, 65535
lis r12, 0
ori r12, r12, 0
mr r10, r8
#endif
.endm
 
.macro DEBUG_real_mode
#ifdef CONFIG_DEBUG
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r11, 108(r10)
stw r11, 112(r10)
stw r11, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r11, 240(r10)
stw r11, 244(r10)
stw r11, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r11, 112(r10)
stw r11, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r11, 244(r10)
stw r11, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r11, 112(r10)
stw r11, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r11, 244(r10)
stw r11, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r12, 12(r10)
stw r11, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r11, 112(r10)
stw r11, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r11, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r11, 180(r10)
stw r11, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r11, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r11, 212(r10)
stw r11, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r11, 236(r10)
stw r11, 240(r10)
stw r11, 244(r10)
stw r11, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r11, 264(r10)
stw r11, 268(r10)
stw r11, 272(r10)
stw r11, 276(r10)
stw r11, 280(r10)
stw r12, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r11, 112(r10)
stw r11, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r11, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r11, 176(r10)
stw r11, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r11, 216(r10)
stw r11, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r11, 232(r10)
stw r11, 236(r10)
stw r12, 240(r10)
stw r11, 244(r10)
stw r11, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r11, 260(r10)
stw r11, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r11, 280(r10)
stw r11, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r11, 112(r10)
stw r11, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r11, 164(r10)
stw r11, 168(r10)
stw r12, 172(r10)
stw r11, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r11, 216(r10)
stw r11, 220(r10)
stw r12, 224(r10)
stw r11, 228(r10)
stw r11, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r11, 244(r10)
stw r11, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r11, 260(r10)
stw r11, 264(r10)
stw r11, 268(r10)
stw r11, 272(r10)
stw r11, 276(r10)
stw r11, 280(r10)
stw r11, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r11, 112(r10)
stw r11, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r11, 164(r10)
stw r11, 168(r10)
stw r12, 172(r10)
stw r11, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r11, 216(r10)
stw r11, 220(r10)
stw r12, 224(r10)
stw r11, 228(r10)
stw r11, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r11, 244(r10)
stw r11, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r11, 260(r10)
stw r11, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r11, 112(r10)
stw r11, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r11, 164(r10)
stw r11, 168(r10)
stw r12, 172(r10)
stw r11, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r11, 216(r10)
stw r11, 220(r10)
stw r12, 224(r10)
stw r11, 228(r10)
stw r11, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r11, 244(r10)
stw r11, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r11, 260(r10)
stw r11, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r11, 112(r10)
stw r11, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r11, 164(r10)
stw r11, 168(r10)
stw r12, 172(r10)
stw r11, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r11, 216(r10)
stw r11, 220(r10)
stw r12, 224(r10)
stw r11, 228(r10)
stw r11, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r11, 244(r10)
stw r11, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r11, 260(r10)
stw r11, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r11, 280(r10)
stw r11, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r11, 88(r10)
stw r11, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r11, 108(r10)
stw r11, 112(r10)
stw r11, 116(r10)
stw r11, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r11, 164(r10)
stw r11, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r11, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r11, 212(r10)
stw r11, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r11, 232(r10)
stw r11, 236(r10)
stw r11, 240(r10)
stw r12, 244(r10)
stw r11, 248(r10)
stw r11, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r11, 264(r10)
stw r11, 268(r10)
stw r11, 272(r10)
stw r11, 276(r10)
stw r11, 280(r10)
stw r12, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r11, 132(r10)
stw r11, 136(r10)
stw r11, 140(r10)
stw r11, 144(r10)
stw r11, 148(r10)
stw r11, 152(r10)
stw r11, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
#endif
.endm
 
.macro DEBUG_copy_loop
#ifdef CONFIG_DEBUG
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r11, 172(r10)
stw r11, 176(r10)
stw r11, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r11, 176(r10)
stw r11, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r11, 176(r10)
stw r11, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r12, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r11, 100(r10)
stw r11, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r11, 176(r10)
stw r11, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r11, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r11, 212(r10)
stw r11, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r11, 232(r10)
stw r11, 236(r10)
stw r11, 240(r10)
stw r11, 244(r10)
stw r11, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r11, 260(r10)
stw r11, 264(r10)
stw r12, 268(r10)
stw r11, 272(r10)
stw r11, 276(r10)
stw r11, 280(r10)
stw r12, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r11, 88(r10)
stw r11, 92(r10)
stw r12, 96(r10)
stw r11, 100(r10)
stw r11, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r11, 176(r10)
stw r11, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r11, 216(r10)
stw r11, 220(r10)
stw r12, 224(r10)
stw r11, 228(r10)
stw r11, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r11, 248(r10)
stw r11, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r11, 264(r10)
stw r11, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r11, 280(r10)
stw r11, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r11, 88(r10)
stw r11, 92(r10)
stw r12, 96(r10)
stw r11, 100(r10)
stw r11, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r11, 176(r10)
stw r11, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r11, 216(r10)
stw r11, 220(r10)
stw r12, 224(r10)
stw r11, 228(r10)
stw r11, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r11, 248(r10)
stw r11, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r11, 264(r10)
stw r11, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r11, 280(r10)
stw r11, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r11, 88(r10)
stw r11, 92(r10)
stw r12, 96(r10)
stw r11, 100(r10)
stw r11, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r11, 176(r10)
stw r11, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r11, 216(r10)
stw r11, 220(r10)
stw r12, 224(r10)
stw r11, 228(r10)
stw r11, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r11, 248(r10)
stw r11, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r11, 264(r10)
stw r11, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r11, 280(r10)
stw r11, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r11, 88(r10)
stw r11, 92(r10)
stw r12, 96(r10)
stw r11, 100(r10)
stw r11, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r11, 176(r10)
stw r11, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r11, 216(r10)
stw r11, 220(r10)
stw r12, 224(r10)
stw r11, 228(r10)
stw r11, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r11, 248(r10)
stw r11, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r11, 264(r10)
stw r11, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r11, 280(r10)
stw r11, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r11, 88(r10)
stw r11, 92(r10)
stw r12, 96(r10)
stw r11, 100(r10)
stw r11, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r11, 176(r10)
stw r11, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r11, 216(r10)
stw r11, 220(r10)
stw r12, 224(r10)
stw r11, 228(r10)
stw r11, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r11, 248(r10)
stw r11, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r11, 264(r10)
stw r11, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r11, 280(r10)
stw r11, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r11, 112(r10)
stw r11, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r11, 172(r10)
stw r11, 176(r10)
stw r11, 180(r10)
stw r11, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r11, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r11, 212(r10)
stw r11, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r11, 232(r10)
stw r11, 236(r10)
stw r11, 240(r10)
stw r11, 244(r10)
stw r11, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r11, 264(r10)
stw r11, 268(r10)
stw r11, 272(r10)
stw r11, 276(r10)
stw r11, 280(r10)
stw r12, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r11, 264(r10)
stw r11, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r11, 116(r10)
stw r11, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r11, 132(r10)
stw r11, 136(r10)
stw r11, 140(r10)
stw r11, 144(r10)
stw r11, 148(r10)
stw r11, 152(r10)
stw r11, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r11, 264(r10)
stw r11, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r11, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r11, 112(r10)
stw r11, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r11, 260(r10)
stw r11, 264(r10)
stw r11, 268(r10)
stw r11, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
#endif
.endm
 
.macro DEBUG_end_copy_loop
#ifdef CONFIG_DEBUG
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r12, 304(r10)
stw r12, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r12, 324(r10)
stw r12, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r12, 344(r10)
stw r12, 348(r10)
stw r12, 352(r10)
stw r12, 356(r10)
stw r12, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r12, 372(r10)
stw r12, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r12, 392(r10)
stw r12, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r12, 408(r10)
stw r12, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r12, 304(r10)
stw r12, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r12, 324(r10)
stw r12, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r12, 344(r10)
stw r12, 348(r10)
stw r12, 352(r10)
stw r12, 356(r10)
stw r12, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r12, 372(r10)
stw r12, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r12, 392(r10)
stw r12, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r12, 408(r10)
stw r12, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r11, 300(r10)
stw r11, 304(r10)
stw r11, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r12, 324(r10)
stw r12, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r12, 344(r10)
stw r12, 348(r10)
stw r12, 352(r10)
stw r12, 356(r10)
stw r12, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r12, 372(r10)
stw r12, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r12, 392(r10)
stw r12, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r12, 408(r10)
stw r12, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r11, 304(r10)
stw r11, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r12, 324(r10)
stw r12, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r12, 344(r10)
stw r12, 348(r10)
stw r12, 352(r10)
stw r12, 356(r10)
stw r12, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r12, 372(r10)
stw r12, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r12, 392(r10)
stw r12, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r12, 408(r10)
stw r12, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r11, 304(r10)
stw r11, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r12, 324(r10)
stw r12, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r12, 344(r10)
stw r12, 348(r10)
stw r12, 352(r10)
stw r12, 356(r10)
stw r12, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r12, 372(r10)
stw r12, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r12, 392(r10)
stw r12, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r12, 408(r10)
stw r12, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r11, 136(r10)
stw r11, 140(r10)
stw r11, 144(r10)
stw r11, 148(r10)
stw r11, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r11, 176(r10)
stw r11, 180(r10)
stw r11, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r12, 204(r10)
stw r11, 208(r10)
stw r11, 212(r10)
stw r11, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r11, 228(r10)
stw r11, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r11, 248(r10)
stw r11, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r11, 304(r10)
stw r11, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r12, 324(r10)
stw r11, 328(r10)
stw r11, 332(r10)
stw r11, 336(r10)
stw r11, 340(r10)
stw r11, 344(r10)
stw r12, 348(r10)
stw r12, 352(r10)
stw r12, 356(r10)
stw r11, 360(r10)
stw r11, 364(r10)
stw r11, 368(r10)
stw r11, 372(r10)
stw r11, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r11, 388(r10)
stw r11, 392(r10)
stw r12, 396(r10)
stw r11, 400(r10)
stw r11, 404(r10)
stw r11, 408(r10)
stw r12, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r11, 132(r10)
stw r11, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r11, 152(r10)
stw r11, 156(r10)
stw r12, 160(r10)
stw r11, 164(r10)
stw r11, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r11, 200(r10)
stw r11, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r11, 216(r10)
stw r11, 220(r10)
stw r12, 224(r10)
stw r11, 228(r10)
stw r11, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r11, 248(r10)
stw r11, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r11, 304(r10)
stw r11, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r11, 324(r10)
stw r11, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r11, 344(r10)
stw r11, 348(r10)
stw r12, 352(r10)
stw r11, 356(r10)
stw r11, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r12, 372(r10)
stw r11, 376(r10)
stw r11, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r11, 392(r10)
stw r11, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r11, 408(r10)
stw r11, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r11, 132(r10)
stw r11, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r11, 164(r10)
stw r11, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r11, 200(r10)
stw r11, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r11, 216(r10)
stw r11, 220(r10)
stw r12, 224(r10)
stw r11, 228(r10)
stw r11, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r11, 248(r10)
stw r11, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r11, 304(r10)
stw r11, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r11, 324(r10)
stw r11, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r11, 344(r10)
stw r11, 348(r10)
stw r12, 352(r10)
stw r11, 356(r10)
stw r11, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r12, 372(r10)
stw r11, 376(r10)
stw r11, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r11, 392(r10)
stw r11, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r11, 408(r10)
stw r11, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r11, 132(r10)
stw r11, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r11, 164(r10)
stw r11, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r11, 200(r10)
stw r11, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r11, 216(r10)
stw r11, 220(r10)
stw r12, 224(r10)
stw r11, 228(r10)
stw r11, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r11, 248(r10)
stw r11, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r11, 304(r10)
stw r11, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r11, 324(r10)
stw r11, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r11, 344(r10)
stw r11, 348(r10)
stw r12, 352(r10)
stw r11, 356(r10)
stw r11, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r12, 372(r10)
stw r11, 376(r10)
stw r11, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r11, 392(r10)
stw r11, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r11, 408(r10)
stw r11, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r11, 132(r10)
stw r11, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r11, 164(r10)
stw r11, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r11, 200(r10)
stw r11, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r11, 216(r10)
stw r11, 220(r10)
stw r12, 224(r10)
stw r11, 228(r10)
stw r11, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r11, 248(r10)
stw r11, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r11, 304(r10)
stw r11, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r11, 324(r10)
stw r11, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r11, 344(r10)
stw r11, 348(r10)
stw r12, 352(r10)
stw r11, 356(r10)
stw r11, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r12, 372(r10)
stw r11, 376(r10)
stw r11, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r11, 392(r10)
stw r11, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r11, 408(r10)
stw r11, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r11, 132(r10)
stw r11, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r11, 152(r10)
stw r11, 156(r10)
stw r12, 160(r10)
stw r11, 164(r10)
stw r11, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r11, 200(r10)
stw r11, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r11, 216(r10)
stw r11, 220(r10)
stw r12, 224(r10)
stw r11, 228(r10)
stw r11, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r11, 248(r10)
stw r11, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r11, 304(r10)
stw r11, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r11, 324(r10)
stw r11, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r11, 344(r10)
stw r11, 348(r10)
stw r12, 352(r10)
stw r11, 356(r10)
stw r11, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r12, 372(r10)
stw r11, 376(r10)
stw r11, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r11, 392(r10)
stw r11, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r11, 408(r10)
stw r11, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r11, 88(r10)
stw r11, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r11, 136(r10)
stw r11, 140(r10)
stw r11, 144(r10)
stw r11, 148(r10)
stw r11, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r11, 176(r10)
stw r11, 180(r10)
stw r11, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r11, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r11, 212(r10)
stw r11, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r11, 232(r10)
stw r11, 236(r10)
stw r11, 240(r10)
stw r11, 244(r10)
stw r11, 248(r10)
stw r11, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r11, 300(r10)
stw r11, 304(r10)
stw r11, 308(r10)
stw r11, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r12, 324(r10)
stw r11, 328(r10)
stw r11, 332(r10)
stw r11, 336(r10)
stw r11, 340(r10)
stw r11, 344(r10)
stw r12, 348(r10)
stw r12, 352(r10)
stw r12, 356(r10)
stw r11, 360(r10)
stw r11, 364(r10)
stw r11, 368(r10)
stw r11, 372(r10)
stw r11, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r11, 392(r10)
stw r11, 396(r10)
stw r11, 400(r10)
stw r11, 404(r10)
stw r11, 408(r10)
stw r12, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r11, 200(r10)
stw r11, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r11, 248(r10)
stw r11, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r12, 304(r10)
stw r12, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r12, 324(r10)
stw r12, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r12, 344(r10)
stw r12, 348(r10)
stw r12, 352(r10)
stw r12, 356(r10)
stw r12, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r12, 372(r10)
stw r12, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r11, 392(r10)
stw r11, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r12, 408(r10)
stw r12, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r11, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r11, 112(r10)
stw r11, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r11, 200(r10)
stw r11, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r11, 244(r10)
stw r11, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r11, 260(r10)
stw r11, 264(r10)
stw r11, 268(r10)
stw r11, 272(r10)
stw r11, 276(r10)
stw r11, 280(r10)
stw r11, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r12, 304(r10)
stw r12, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r12, 324(r10)
stw r12, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r12, 344(r10)
stw r12, 348(r10)
stw r12, 352(r10)
stw r12, 356(r10)
stw r12, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r12, 372(r10)
stw r12, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r11, 392(r10)
stw r11, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r12, 408(r10)
stw r12, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r11, 228(r10)
stw r11, 232(r10)
stw r11, 236(r10)
stw r11, 240(r10)
stw r11, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r12, 304(r10)
stw r12, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r12, 324(r10)
stw r12, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r12, 344(r10)
stw r12, 348(r10)
stw r12, 352(r10)
stw r12, 356(r10)
stw r12, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r12, 372(r10)
stw r12, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r11, 388(r10)
stw r11, 392(r10)
stw r11, 396(r10)
stw r11, 400(r10)
stw r12, 404(r10)
stw r12, 408(r10)
stw r12, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r12, 304(r10)
stw r12, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r12, 324(r10)
stw r12, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r12, 344(r10)
stw r12, 348(r10)
stw r12, 352(r10)
stw r12, 356(r10)
stw r12, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r12, 372(r10)
stw r12, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r12, 392(r10)
stw r12, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r12, 408(r10)
stw r12, 412(r10)
#endif
.endm
 
.macro DEBUG_segments
#ifdef CONFIG_DEBUG
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r11, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r11, 88(r10)
stw r11, 92(r10)
stw r12, 96(r10)
stw r11, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r12, 112(r10)
stw r11, 116(r10)
stw r11, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r11, 136(r10)
stw r11, 140(r10)
stw r11, 144(r10)
stw r11, 148(r10)
stw r11, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r11, 164(r10)
stw r11, 168(r10)
stw r12, 172(r10)
stw r11, 176(r10)
stw r11, 180(r10)
stw r11, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r11, 212(r10)
stw r11, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r11, 232(r10)
stw r11, 236(r10)
stw r11, 240(r10)
stw r11, 244(r10)
stw r11, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r11, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r11, 112(r10)
stw r11, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r11, 132(r10)
stw r11, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r11, 152(r10)
stw r11, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r11, 228(r10)
stw r11, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r11, 248(r10)
stw r11, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r11, 100(r10)
stw r11, 104(r10)
stw r12, 108(r10)
stw r11, 112(r10)
stw r12, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r11, 132(r10)
stw r11, 136(r10)
stw r11, 140(r10)
stw r11, 144(r10)
stw r11, 148(r10)
stw r11, 152(r10)
stw r11, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r11, 232(r10)
stw r11, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r11, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r11, 100(r10)
stw r11, 104(r10)
stw r12, 108(r10)
stw r11, 112(r10)
stw r12, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r11, 132(r10)
stw r11, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r11, 236(r10)
stw r11, 240(r10)
stw r11, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r11, 100(r10)
stw r11, 104(r10)
stw r12, 108(r10)
stw r11, 112(r10)
stw r12, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r11, 132(r10)
stw r11, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r11, 244(r10)
stw r11, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r11, 100(r10)
stw r11, 104(r10)
stw r12, 108(r10)
stw r11, 112(r10)
stw r12, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r11, 132(r10)
stw r11, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r11, 152(r10)
stw r11, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r12, 212(r10)
stw r11, 216(r10)
stw r11, 220(r10)
stw r12, 224(r10)
stw r11, 228(r10)
stw r11, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r11, 248(r10)
stw r11, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r11, 100(r10)
stw r11, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r11, 136(r10)
stw r11, 140(r10)
stw r11, 144(r10)
stw r11, 148(r10)
stw r11, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r11, 208(r10)
stw r11, 212(r10)
stw r11, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r11, 232(r10)
stw r11, 236(r10)
stw r11, 240(r10)
stw r11, 244(r10)
stw r11, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
#endif
.endm
 
.macro DEBUG_bat
#ifdef CONFIG_DEBUG
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r11, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r11, 88(r10)
stw r11, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
#endif
.endm
 
.macro DEBUG_mapping
#ifdef CONFIG_DEBUG
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r11, 144(r10)
stw r11, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r11, 144(r10)
stw r11, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r12, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r11, 100(r10)
stw r11, 104(r10)
stw r12, 108(r10)
stw r11, 112(r10)
stw r11, 116(r10)
stw r11, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r11, 140(r10)
stw r11, 144(r10)
stw r11, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r11, 164(r10)
stw r11, 168(r10)
stw r12, 172(r10)
stw r11, 176(r10)
stw r11, 180(r10)
stw r11, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r11, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r12, 212(r10)
stw r11, 216(r10)
stw r11, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r11, 88(r10)
stw r11, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r11, 144(r10)
stw r11, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r11, 212(r10)
stw r11, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r12, 12(r10)
stw r11, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r11, 88(r10)
stw r11, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r11, 144(r10)
stw r11, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r11, 212(r10)
stw r11, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r12, 12(r10)
stw r11, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r11, 88(r10)
stw r11, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r11, 144(r10)
stw r11, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r11, 212(r10)
stw r11, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r12, 12(r10)
stw r11, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r11, 88(r10)
stw r11, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r11, 144(r10)
stw r11, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r11, 212(r10)
stw r11, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r12, 12(r10)
stw r11, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r11, 88(r10)
stw r11, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r11, 144(r10)
stw r11, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r11, 212(r10)
stw r11, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r11, 112(r10)
stw r11, 116(r10)
stw r11, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r11, 140(r10)
stw r11, 144(r10)
stw r11, 148(r10)
stw r11, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r11, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r11, 212(r10)
stw r11, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r11, 212(r10)
stw r11, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r11, 212(r10)
stw r11, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r11, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r11, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r11, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r11, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
#endif
.endm
 
.macro DEBUG_tlb
#ifdef CONFIG_DEBUG
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r11, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r11, 88(r10)
stw r11, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r11, 88(r10)
stw r11, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r11, 88(r10)
stw r11, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r11, 88(r10)
stw r11, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r11, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
#endif
.endm
 
.macro DEBUG_prepare
#ifdef CONFIG_DEBUG
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r12, 12(r10)
stw r11, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r11, 100(r10)
stw r11, 104(r10)
stw r12, 108(r10)
stw r11, 112(r10)
stw r11, 116(r10)
stw r11, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r11, 136(r10)
stw r11, 140(r10)
stw r11, 144(r10)
stw r11, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r11, 164(r10)
stw r11, 168(r10)
stw r12, 172(r10)
stw r11, 176(r10)
stw r11, 180(r10)
stw r11, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r11, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r11, 212(r10)
stw r11, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r11, 88(r10)
stw r11, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r11, 148(r10)
stw r11, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r11, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r11, 216(r10)
stw r11, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r11, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r11, 136(r10)
stw r11, 140(r10)
stw r11, 144(r10)
stw r11, 148(r10)
stw r11, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r11, 212(r10)
stw r11, 216(r10)
stw r11, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r11, 132(r10)
stw r11, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r11, 148(r10)
stw r11, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r11, 132(r10)
stw r11, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r11, 148(r10)
stw r11, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r11, 88(r10)
stw r11, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r11, 132(r10)
stw r11, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r11, 148(r10)
stw r11, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r11, 216(r10)
stw r11, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r11, 112(r10)
stw r11, 116(r10)
stw r11, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r11, 136(r10)
stw r11, 140(r10)
stw r11, 144(r10)
stw r12, 148(r10)
stw r11, 152(r10)
stw r11, 156(r10)
stw r12, 160(r10)
stw r11, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r11, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r11, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r11, 212(r10)
stw r11, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r11, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r11, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
#endif
.endm
 
.macro DEBUG_rfi
#ifdef CONFIG_DEBUG
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r12, 12(r10)
stw r11, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
#endif
.endm
 
.macro DEBUG_pht
#ifdef CONFIG_DEBUG
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r12, 12(r10)
stw r11, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r11, 88(r10)
stw r11, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
#endif
.endm
 
.macro DEBUG_end_pht_clear
#ifdef CONFIG_DEBUG
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r12, 304(r10)
stw r12, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r12, 324(r10)
stw r12, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r12, 344(r10)
stw r12, 348(r10)
stw r12, 352(r10)
stw r12, 356(r10)
stw r12, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r12, 372(r10)
stw r12, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r12, 392(r10)
stw r12, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r12, 408(r10)
stw r12, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r12, 304(r10)
stw r12, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r12, 324(r10)
stw r12, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r12, 344(r10)
stw r12, 348(r10)
stw r12, 352(r10)
stw r12, 356(r10)
stw r12, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r12, 372(r10)
stw r12, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r12, 392(r10)
stw r12, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r12, 408(r10)
stw r12, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r11, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r11, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r11, 300(r10)
stw r11, 304(r10)
stw r11, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r12, 324(r10)
stw r12, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r12, 344(r10)
stw r12, 348(r10)
stw r12, 352(r10)
stw r12, 356(r10)
stw r12, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r12, 372(r10)
stw r12, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r12, 392(r10)
stw r12, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r12, 408(r10)
stw r12, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r11, 304(r10)
stw r11, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r12, 324(r10)
stw r12, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r12, 344(r10)
stw r12, 348(r10)
stw r12, 352(r10)
stw r12, 356(r10)
stw r12, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r12, 372(r10)
stw r12, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r12, 392(r10)
stw r12, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r12, 408(r10)
stw r12, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r11, 304(r10)
stw r11, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r12, 324(r10)
stw r12, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r12, 344(r10)
stw r12, 348(r10)
stw r12, 352(r10)
stw r12, 356(r10)
stw r12, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r12, 372(r10)
stw r12, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r12, 392(r10)
stw r12, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r12, 408(r10)
stw r12, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r11, 132(r10)
stw r11, 136(r10)
stw r12, 140(r10)
stw r11, 144(r10)
stw r11, 148(r10)
stw r11, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r11, 180(r10)
stw r11, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r11, 212(r10)
stw r11, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r11, 264(r10)
stw r11, 268(r10)
stw r11, 272(r10)
stw r11, 276(r10)
stw r11, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r11, 304(r10)
stw r11, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r12, 324(r10)
stw r11, 328(r10)
stw r11, 332(r10)
stw r11, 336(r10)
stw r11, 340(r10)
stw r11, 344(r10)
stw r12, 348(r10)
stw r12, 352(r10)
stw r12, 356(r10)
stw r11, 360(r10)
stw r11, 364(r10)
stw r11, 368(r10)
stw r11, 372(r10)
stw r12, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r11, 388(r10)
stw r11, 392(r10)
stw r12, 396(r10)
stw r11, 400(r10)
stw r11, 404(r10)
stw r11, 408(r10)
stw r12, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r11, 136(r10)
stw r11, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r11, 152(r10)
stw r11, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r11, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r11, 260(r10)
stw r11, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r11, 280(r10)
stw r11, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r11, 304(r10)
stw r11, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r11, 324(r10)
stw r11, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r11, 344(r10)
stw r11, 348(r10)
stw r12, 352(r10)
stw r12, 356(r10)
stw r12, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r11, 372(r10)
stw r11, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r11, 392(r10)
stw r11, 396(r10)
stw r11, 400(r10)
stw r12, 404(r10)
stw r11, 408(r10)
stw r11, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r11, 136(r10)
stw r11, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r11, 152(r10)
stw r11, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r11, 260(r10)
stw r11, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r11, 304(r10)
stw r11, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r11, 324(r10)
stw r11, 328(r10)
stw r11, 332(r10)
stw r11, 336(r10)
stw r11, 340(r10)
stw r11, 344(r10)
stw r11, 348(r10)
stw r12, 352(r10)
stw r12, 356(r10)
stw r11, 360(r10)
stw r11, 364(r10)
stw r11, 368(r10)
stw r11, 372(r10)
stw r11, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r11, 392(r10)
stw r11, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r11, 408(r10)
stw r11, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r11, 136(r10)
stw r11, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r11, 152(r10)
stw r11, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r11, 260(r10)
stw r11, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r11, 304(r10)
stw r11, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r11, 324(r10)
stw r11, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r12, 344(r10)
stw r12, 348(r10)
stw r12, 352(r10)
stw r11, 356(r10)
stw r11, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r11, 372(r10)
stw r11, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r11, 392(r10)
stw r11, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r12, 408(r10)
stw r12, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r11, 136(r10)
stw r11, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r11, 152(r10)
stw r11, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r11, 260(r10)
stw r11, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r11, 304(r10)
stw r11, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r11, 324(r10)
stw r11, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r12, 344(r10)
stw r12, 348(r10)
stw r12, 352(r10)
stw r11, 356(r10)
stw r11, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r11, 372(r10)
stw r11, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r11, 392(r10)
stw r11, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r12, 408(r10)
stw r12, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r11, 136(r10)
stw r11, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r11, 152(r10)
stw r11, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r12, 212(r10)
stw r11, 216(r10)
stw r11, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r11, 260(r10)
stw r11, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r11, 280(r10)
stw r11, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r11, 304(r10)
stw r11, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r11, 324(r10)
stw r11, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r11, 344(r10)
stw r11, 348(r10)
stw r12, 352(r10)
stw r11, 356(r10)
stw r11, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r11, 372(r10)
stw r11, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r11, 392(r10)
stw r11, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r12, 408(r10)
stw r12, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r11, 88(r10)
stw r11, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r11, 136(r10)
stw r11, 140(r10)
stw r11, 144(r10)
stw r11, 148(r10)
stw r11, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r11, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r11, 208(r10)
stw r11, 212(r10)
stw r11, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r11, 264(r10)
stw r11, 268(r10)
stw r11, 272(r10)
stw r11, 276(r10)
stw r11, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r11, 300(r10)
stw r11, 304(r10)
stw r11, 308(r10)
stw r11, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r12, 324(r10)
stw r11, 328(r10)
stw r11, 332(r10)
stw r11, 336(r10)
stw r11, 340(r10)
stw r11, 344(r10)
stw r12, 348(r10)
stw r12, 352(r10)
stw r12, 356(r10)
stw r11, 360(r10)
stw r11, 364(r10)
stw r11, 368(r10)
stw r12, 372(r10)
stw r11, 376(r10)
stw r11, 380(r10)
stw r12, 384(r10)
stw r11, 388(r10)
stw r11, 392(r10)
stw r11, 396(r10)
stw r11, 400(r10)
stw r12, 404(r10)
stw r12, 408(r10)
stw r12, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r11, 136(r10)
stw r11, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r12, 304(r10)
stw r12, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r12, 324(r10)
stw r12, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r12, 344(r10)
stw r12, 348(r10)
stw r12, 352(r10)
stw r12, 356(r10)
stw r12, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r12, 372(r10)
stw r12, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r12, 392(r10)
stw r12, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r12, 408(r10)
stw r12, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r11, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r11, 112(r10)
stw r11, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r11, 136(r10)
stw r11, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r11, 228(r10)
stw r11, 232(r10)
stw r11, 236(r10)
stw r11, 240(r10)
stw r11, 244(r10)
stw r11, 248(r10)
stw r11, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r12, 304(r10)
stw r12, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r12, 324(r10)
stw r12, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r12, 344(r10)
stw r12, 348(r10)
stw r12, 352(r10)
stw r12, 356(r10)
stw r12, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r12, 372(r10)
stw r12, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r12, 392(r10)
stw r12, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r12, 408(r10)
stw r12, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r11, 132(r10)
stw r11, 136(r10)
stw r11, 140(r10)
stw r11, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r12, 304(r10)
stw r12, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r12, 324(r10)
stw r12, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r12, 344(r10)
stw r12, 348(r10)
stw r12, 352(r10)
stw r12, 356(r10)
stw r12, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r12, 372(r10)
stw r12, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r12, 392(r10)
stw r12, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r12, 408(r10)
stw r12, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r12, 304(r10)
stw r12, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r12, 324(r10)
stw r12, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r12, 344(r10)
stw r12, 348(r10)
stw r12, 352(r10)
stw r12, 356(r10)
stw r12, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r12, 372(r10)
stw r12, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r12, 392(r10)
stw r12, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r12, 408(r10)
stw r12, 412(r10)
#endif
.endm
 
.macro DEBUG_bat_mask
#ifdef CONFIG_DEBUG
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r11, 228(r10)
stw r11, 232(r10)
stw r11, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r11, 232(r10)
stw r11, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r11, 232(r10)
stw r11, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r11, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r11, 132(r10)
stw r11, 136(r10)
stw r11, 140(r10)
stw r12, 144(r10)
stw r11, 148(r10)
stw r11, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r11, 176(r10)
stw r11, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r11, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r11, 212(r10)
stw r11, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r11, 232(r10)
stw r11, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r11, 248(r10)
stw r11, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r11, 132(r10)
stw r11, 136(r10)
stw r11, 140(r10)
stw r11, 144(r10)
stw r11, 148(r10)
stw r11, 152(r10)
stw r11, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r11, 180(r10)
stw r11, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r11, 216(r10)
stw r11, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r11, 232(r10)
stw r11, 236(r10)
stw r12, 240(r10)
stw r11, 244(r10)
stw r11, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r11, 132(r10)
stw r11, 136(r10)
stw r12, 140(r10)
stw r11, 144(r10)
stw r12, 148(r10)
stw r11, 152(r10)
stw r11, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r11, 176(r10)
stw r11, 180(r10)
stw r11, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r11, 200(r10)
stw r11, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r11, 232(r10)
stw r11, 236(r10)
stw r11, 240(r10)
stw r11, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r11, 132(r10)
stw r11, 136(r10)
stw r12, 140(r10)
stw r11, 144(r10)
stw r12, 148(r10)
stw r11, 152(r10)
stw r11, 156(r10)
stw r12, 160(r10)
stw r11, 164(r10)
stw r11, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r11, 180(r10)
stw r11, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r11, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r11, 232(r10)
stw r11, 236(r10)
stw r11, 240(r10)
stw r11, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r11, 132(r10)
stw r11, 136(r10)
stw r12, 140(r10)
stw r11, 144(r10)
stw r12, 148(r10)
stw r11, 152(r10)
stw r11, 156(r10)
stw r12, 160(r10)
stw r11, 164(r10)
stw r11, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r11, 180(r10)
stw r11, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r11, 212(r10)
stw r11, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r11, 232(r10)
stw r11, 236(r10)
stw r12, 240(r10)
stw r11, 244(r10)
stw r11, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r11, 88(r10)
stw r11, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r11, 132(r10)
stw r11, 136(r10)
stw r12, 140(r10)
stw r11, 144(r10)
stw r12, 148(r10)
stw r11, 152(r10)
stw r11, 156(r10)
stw r12, 160(r10)
stw r11, 164(r10)
stw r11, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r11, 180(r10)
stw r11, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r11, 216(r10)
stw r11, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r11, 232(r10)
stw r11, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r11, 248(r10)
stw r11, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r11, 132(r10)
stw r11, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r11, 152(r10)
stw r11, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r11, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r11, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r11, 212(r10)
stw r11, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r11, 228(r10)
stw r11, 232(r10)
stw r11, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r11, 248(r10)
stw r11, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r11, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r11, 112(r10)
stw r11, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
#endif
.endm
/branches/network/boot/arch/ppc32/Makefile.inc
28,15 → 28,15
 
build: $(BASE)/image.boot
 
$(BASE)/image.boot: depend arch/$(BARCH)/loader/image.boot
cp arch/$(BARCH)/loader/image.boot $(BASE)/image.boot
$(BASE)/image.boot: depend arch/$(ARCH)/loader/image.boot
cp arch/$(ARCH)/loader/image.boot $(BASE)/image.boot
 
depend:
-rm arch/$(BARCH)/loader/image.boot
-rm arch/$(ARCH)/loader/image.boot
 
arch/$(BARCH)/loader/image.boot:
make -C arch/$(BARCH)/loader COMPILER=$(COMPILER) KERNELDIR=../../../$(KERNELDIR) USPACEDIR=../../../$(USPACEDIR)
arch/$(ARCH)/loader/image.boot:
make -C arch/$(ARCH)/loader COMPILER=$(COMPILER) KERNELDIR=../../../$(KERNELDIR) USPACEDIR=../../../$(USPACEDIR) "DEFS=$(DEFS)"
 
clean: generic_clean
make -C arch/$(BARCH)/loader clean COMPILER=$(COMPILER) KERNELDIR=../../../$(KERNELDIR) USPACEDIR=../../../$(USPACEDIR)
make -C arch/$(ARCH)/loader clean COMPILER=$(COMPILER) KERNELDIR=../../../$(KERNELDIR) USPACEDIR=../../../$(USPACEDIR) "DEFS=$(DEFS)"
-rm -f $(BASE)/image.boot
/branches/network/boot/arch/ppc64/loader/Makefile
0,0 → 1,119
#
# Copyright (c) 2006 Martin Decky
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# - Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# - Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# - The name of the author may not be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
 
include ../../../../version
include ../../../Makefile.config
 
## Toolchain configuration
#
 
ifndef CROSS_PREFIX
CROSS_PREFIX = /usr/local
endif
 
BFD_NAME = elf64-powerpc
BFD_ARCH = powerpc:common64
TARGET = ppc64-linux-gnu
TOOLCHAIN_DIR = $(CROSS_PREFIX)/ppc64/bin
 
ifeq ($(COMPILER),gcc_native)
CC = gcc
AS = as
LD = ld
OBJCOPY = objcopy
OBJDUMP = objdump
endif
 
ifeq ($(COMPILER),gcc_cross)
CC = $(TOOLCHAIN_DIR)/$(TARGET)-gcc
AS = $(TOOLCHAIN_DIR)/$(TARGET)-as
LD = $(TOOLCHAIN_DIR)/$(TARGET)-ld
OBJCOPY = $(TOOLCHAIN_DIR)/$(TARGET)-objcopy
OBJDUMP = $(TOOLCHAIN_DIR)/$(TARGET)-objdump
endif
 
CFLAGS = -DRELEASE=\"$(RELEASE)\" -I. -I../../../generic -I../../../genarch -nostdinc -nostdlib -fno-builtin -Werror-implicit-function-declaration -Wmissing-prototypes -Werror -O3 -mcpu=powerpc64 -msoft-float -m64
 
ifdef REVISION
CFLAGS += "-DREVISION=\"$(REVISION)\""
endif
 
ifdef TIMESTAMP
CFLAGS += "-DTIMESTAMP=\"$(TIMESTAMP)\""
endif
 
SOURCES = \
main.c \
ofwarch.c \
_components.c \
../../../genarch/ofw.c \
../../../generic/printf.c \
asm.S \
boot.S
 
COMPONENTS = \
$(KERNELDIR)/kernel.bin \
$(USPACEDIR)/srv/ns/ns \
$(USPACEDIR)/srv/fb/fb \
$(USPACEDIR)/srv/kbd/kbd \
$(USPACEDIR)/srv/console/console \
$(USPACEDIR)/srv/vfs/vfs \
$(USPACEDIR)/srv/fs/tmpfs/tmpfs \
$(USPACEDIR)/srv/fs/fat/fat \
$(USPACEDIR)/srv/devmap/devmap \
$(USPACEDIR)/app/init/init \
$(USPACEDIR)/app/tetris/tetris \
$(USPACEDIR)/app/tester/tester \
$(USPACEDIR)/app/klog/klog
 
OBJECTS := $(addsuffix .o,$(basename $(SOURCES)))
COMPONENT_OBJECTS := $(addsuffix .o,$(basename $(notdir $(COMPONENTS))))
 
.PHONY: all clean depend
 
all: image.boot
 
-include Makefile.depend
 
image.boot: depend _components.h _link.ld $(COMPONENT_OBJECTS) $(OBJECTS)
$(LD) -no-check-sections -N -T _link.ld $(COMPONENT_OBJECTS) $(OBJECTS) -o $@
 
depend:
-makedepend $(DEFS) $(CFLAGS) -f - $(SOURCES) > Makefile.depend 2> /dev/null
 
clean:
-rm -f _components.h _components.c _link.ld $(COMPONENT_OBJECTS) $(OBJECTS) image.boot Makefile.depend
 
_components.h _components.c _link.ld $(COMPONENT_OBJECTS): $(COMPONENTS) _link.ld.in
../../../tools/pack.py $(OBJCOPY) $(BFD_NAME) $(BFD_ARCH) 4096 "unsigned long" $(COMPONENTS)
 
%.o: %.S
$(CC) $(DEFS) $(CFLAGS) -D__ASM__ -c $< -o $@
 
%.o: %.c
$(CC) $(DEFS) $(CFLAGS) -c $< -o $@
/branches/network/boot/arch/ppc64/loader/_link.ld.in
0,0 → 1,27
OUTPUT_FORMAT("elf64-powerpc")
OUTPUT_ARCH(powerpc:common64)
ENTRY(start)
SECTIONS {
.boot 0x0000000010000000: AT (0) {
*(BOOTSTRAP);
*(REALMODE);
*(.text);
*(.toc);
*(.opd);
*(.rodata);
*(.rodata.*);
*(.data); /* initialized data */
*(.sdata);
*(.sdata2);
*(.sbss);
*(.bss); /* uninitialized static variables */
*(COMMON); /* global variables */
[[COMPONENTS]]
}
/DISCARD/ : {
*(*);
}
}
/branches/network/boot/arch/ppc64/loader/main.c
0,0 → 1,182
/*
* Copyright (c) 2005 Martin Decky
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* - Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* - Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* - The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
 
#include "main.h"
#include <printf.h>
#include "asm.h"
#include "_components.h"
#include <ofw.h>
#include <align.h>
 
#define HEAP_GAP 1024000
 
bootinfo_t bootinfo;
 
 
static void check_align(const void *addr, const char *desc)
{
if ((unsigned long) addr % PAGE_SIZE != 0) {
printf("Error: %s not on page boundary, halting.\n", desc);
halt();
}
}
 
 
static void fix_overlap(void *va, void **pa, const char *desc, unsigned long *top)
{
if ((unsigned long) *pa + PAGE_SIZE < *top) {
printf("Warning: %s overlaps kernel physical area\n", desc);
void *new_va = (void *) (ALIGN_UP((unsigned long) KERNEL_END + HEAP_GAP, PAGE_SIZE) + *top);
void *new_pa = (void *) (HEAP_GAP + *top);
*top += PAGE_SIZE;
if (ofw_map(new_pa, new_va, PAGE_SIZE, 0) != 0) {
printf("Error: Unable to map page aligned memory at %L (physical %L), halting.\n", new_va, new_pa);
halt();
}
if ((unsigned long) new_pa + PAGE_SIZE < KERNEL_SIZE) {
printf("Error: %s cannot be relocated, halting.\n", desc);
halt();
}
printf("Relocating %L -> %L (physical %L -> %L)\n", va, new_va, *pa, new_pa);
*pa = new_pa;
memcpy(new_va, va, PAGE_SIZE);
}
}
 
char *release = RELEASE;
 
#ifdef REVISION
char *revision = ", revision " REVISION;
#else
char *revision = "";
#endif
 
#ifdef TIMESTAMP
char *timestamp = "\nBuilt on " TIMESTAMP;
#else
char *timestamp = "";
#endif
 
/** Print version information. */
static void version_print(void)
{
printf("HelenOS PPC64 Bootloader\nRelease %s%s%s\nCopyright (c) 2006 HelenOS project\n", release, revision, timestamp);
}
 
void bootstrap(void)
{
version_print();
component_t components[COMPONENTS];
init_components(components);
unsigned int i;
for (i = 0; i < COMPONENTS; i++)
check_align(components[i].start, components[i].name);
check_align(&real_mode, "bootstrap trampoline");
check_align(&trans, "translation table");
if (!ofw_memmap(&bootinfo.memmap)) {
printf("Error: unable to get memory map, halting.\n");
halt();
}
if (bootinfo.memmap.total == 0) {
printf("Error: no memory detected, halting.\n");
halt();
}
if (!ofw_screen(&bootinfo.screen)) {
printf("Error: unable to get screen properties, halting.\n");
halt();
}
if (!ofw_keyboard(&bootinfo.keyboard)) {
printf("Error: unable to get keyboard properties, halting.\n");
halt();
}
printf("\nDevice statistics\n");
printf(" screen at %L, resolution %dx%d, %d bpp (scanline %d bytes)\n", bootinfo.screen.addr, bootinfo.screen.width, bootinfo.screen.height, bootinfo.screen.bpp, bootinfo.screen.scanline);
printf(" keyboard at %L (size %d bytes)\n", bootinfo.keyboard.addr, bootinfo.keyboard.size);
void *real_mode_pa = ofw_translate(&real_mode);
void *trans_pa = ofw_translate(&trans);
void *bootinfo_pa = ofw_translate(&bootinfo);
printf("\nMemory statistics (total %d MB)\n", bootinfo.memmap.total >> 20);
printf(" %L: boot info structure (physical %L)\n", &bootinfo, bootinfo_pa);
printf(" %L: bootstrap trampoline (physical %L)\n", &real_mode, real_mode_pa);
printf(" %L: translation table (physical %L)\n", &trans, trans_pa);
for (i = 0; i < COMPONENTS; i++)
printf(" %L: %s image (size %d bytes)\n", components[i].start, components[i].name, components[i].size);
unsigned long top = 0;
for (i = 0; i < COMPONENTS; i++)
top += ALIGN_UP(components[i].size, PAGE_SIZE);
unsigned long pages = ALIGN_UP(KERNEL_SIZE, PAGE_SIZE) >> PAGE_WIDTH;
for (i = 0; i < pages; i++) {
void *pa = ofw_translate(KERNEL_START + (i << PAGE_WIDTH));
fix_overlap(KERNEL_START + (i << PAGE_WIDTH), &pa, "kernel", &top);
trans[i] = pa;
}
bootinfo.taskmap.count = 0;
for (i = 1; i < COMPONENTS; i++) {
unsigned long component_pages = ALIGN_UP(components[i].size, PAGE_SIZE) >> PAGE_WIDTH;
unsigned long j;
for (j = 0; j < component_pages; j++) {
void *pa = ofw_translate(components[i].start + (j << PAGE_WIDTH));
fix_overlap(components[i].start + (j << PAGE_WIDTH), &pa, components[i].name, &top);
trans[pages + j] = pa;
if (j == 0) {
bootinfo.taskmap.tasks[bootinfo.taskmap.count].addr = (void *) (pages << PAGE_WIDTH);
bootinfo.taskmap.tasks[bootinfo.taskmap.count].size = components[i].size;
bootinfo.taskmap.count++;
}
}
pages += component_pages;
}
fix_overlap(&real_mode, &real_mode_pa, "bootstrap trampoline", &top);
fix_overlap(&trans, &trans_pa, "translation table", &top);
fix_overlap(&bootinfo, &bootinfo_pa, "boot info", &top);
printf("\nBooting the kernel...\n");
jump_to_kernel(bootinfo_pa, sizeof(bootinfo), trans_pa, pages << PAGE_WIDTH, real_mode_pa, (void *) bootinfo.screen.addr, bootinfo.screen.scanline);
}
/branches/network/boot/arch/ppc64/loader/ofwarch.h
0,0 → 1,35
/*
* Copyright (c) 2006 Jakub Jermar
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* - Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* - Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* - The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
 
#ifndef BOOT_ppc64_OFWARCH_H_
#define BOOT_ppc64_OFWARCH_H_
 
#define OFW_ADDRESS_CELLS 2
#define OFW_SIZE_CELLS 2
 
#endif
/branches/network/boot/arch/ppc64/loader/asm.S
0,0 → 1,301
#
# Copyright (c) 2006 Martin Decky
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# - Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# - Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# - The name of the author may not be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
 
#include "asm.h"
#include "regname.h"
#include "debug.inc"
 
.text
 
.global halt
.global memcpy
.global jump_to_kernel
 
halt:
b halt
 
memcpy:
srwi. r7, r5, 3
addi r6, r3, -4
addi r4, r4, -4
beq 2f
andi. r0, r6, 3
mtctr r7
bne 5f
1:
lwz r7, 4(r4)
lwzu r8, 8(r4)
stw r7, 4(r6)
stwu r8, 8(r6)
bdnz 1b
andi. r5, r5, 7
2:
cmplwi 0, r5, 4
blt 3f
lwzu r0, 4(r4)
addi r5, r5, -4
stwu r0, 4(r6)
3:
cmpwi 0, r5, 0
beqlr
mtctr r5
addi r4, r4, 3
addi r6, r6, 3
4:
lbzu r0, 1(r4)
stbu r0, 1(r6)
bdnz 4b
blr
5:
subfic r0, r0, 4
mtctr r0
6:
lbz r7, 4(r4)
addi r4, r4, 1
stb r7, 4(r6)
addi r6, r6, 1
bdnz 6b
subf r5, r0, r5
rlwinm. r7, r5, 32-3, 3, 31
beq 2b
mtctr r7
b 1b
 
 
jump_to_kernel:
# r3 = bootinfo (pa)
# r4 = bootinfo_size
# r5 = trans (pa)
# r6 = bytes to copy
# r7 = real_mode (pa)
# r8 = framebuffer (pa)
# r9 = scanline
# disable interrupts
mfmsr r31
rlwinm r31, r31, 0, 17, 15
mtmsr r31
# set real_mode meeting point address
mtspr srr0, r7
# jumps to real_mode
mfmsr r31
lis r30, ~0@h
ori r30, r30, ~(msr_ir | msr_dr)@l
and r31, r31, r30
mtspr srr1, r31
sync
isync
rfid
 
.section REALMODE, "ax"
.align PAGE_WIDTH
.global real_mode
 
real_mode:
DEBUG_INIT
DEBUG_real_mode
# copy kernel to proper location
#
# r5 = trans (pa)
# r6 = bytes to copy
# r8 = framebuffer (pa)
# r9 = scanline
li r31, PAGE_SIZE >> 2
li r30, 0
page_copy:
cmpwi r6, 0
beq copy_end
# copy page
mtctr r31
lwz r29, 0(r5)
DEBUG_INIT
DEBUG_copy_loop
copy_loop:
lwz r28, 0(r29)
stw r28, 0(r30)
addi r29, r29, 4
addi r30, r30, 4
subi r6, r6, 4
cmpwi r6, 0
beq copy_end
bdnz copy_loop
DEBUG_end_copy_loop
addi r5, r5, 4
b page_copy
copy_end:
DEBUG_segments
# initially fill segment registers
li r31, 0
li r29, 8
mtctr r29
li r30, 0 # ASID 0 (VSIDs 0 .. 7)
 
seg_fill_uspace:
mtsrin r30, r31
addi r30, r30, 1
addis r31, r31, 0x1000 # move to next SR
bdnz seg_fill_uspace
li r29, 8
mtctr r29
lis r30, 0x4000 # priviledged access only
ori r30, r30, 8 # ASID 0 (VSIDs 8 .. 15)
seg_fill_kernel:
mtsrin r30, r31
addi r30, r30, 1
addis r31, r31, 0x1000 # move to next SR
bdnz seg_fill_kernel
# create empty Page Hash Table
# on top of memory, size 64 KB
DEBUG_pht
lwz r31, 0(r3) # r31 = memory size
lis r30, 65536@h
ori r30, r30, 65536@l # r30 = 65536
subi r29, r30, 1 # r29 = 65535
sub r31, r31, r30
andc r31, r31, r29 # pht = ALIGN_DOWN(memory_size - 65536, 65536)
mtsdr1 r31
li r29, 2
srw r30, r30, r29 # r30 = 16384
li r29, 0
pht_clear:
# write zeroes
stw r29, 0(r31)
addi r31, r31, 4
subi r30, r30, 4
cmpwi r30, 0
beq clear_end
bdnz pht_clear
 
DEBUG_end_pht_clear
clear_end:
DEBUG_tlb
tlbia
tlbsync
DEBUG_prepare
# start the kernel
#
# pc = KERNEL_START_ADDR
# r3 = bootinfo (pa)
# sprg0 = KA2PA(KERNEL_START_ADDR)
# sprg3 = physical memory size
# sp = 0 (pa)
lis r31, KERNEL_START_ADDR@ha
addi r31, r31, KERNEL_START_ADDR@l
mtspr srr0, r31
subis r31, r31, 0x8000
mtsprg0 r31
lwz r31, 0(r3)
mtsprg3 r31
li sp, 0
mfmsr r31
ori r31, r31, (msr_ir | msr_dr)@l
mtspr srr1, r31
sync
isync
DEBUG_rfi
rfid
 
.align PAGE_WIDTH
.global trans
trans:
.space (TRANS_SIZE * TRANS_ITEM_SIZE)
/branches/network/boot/arch/ppc64/loader/boot.S
0,0 → 1,42
#
# Copyright (c) 2006 Martin Decky
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# - Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# - Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# - The name of the author may not be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
 
#include "regname.h"
 
.section BOOTSTRAP, "ax"
 
.global start
 
start:
lis r4, ofw_cif@ha
addi r4, r4, ofw_cif@l
stw r5, 0(r4)
bl ofw_init
b bootstrap
/branches/network/boot/arch/ppc64/loader/regname.h
0,0 → 1,204
/*
* Copyright (c) 2005 Martin Decky
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* - Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* - Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* - The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
 
#ifndef __ppc32_REGNAME_H__
#define __ppc32_REGNAME_H__
 
/* Condition Register Bit Fields */
#define cr0 0
#define cr1 1
#define cr2 2
#define cr3 3
#define cr4 4
#define cr5 5
#define cr6 6
#define cr7 7
 
/* General Purpose Registers (GPRs) */
#define r0 0
#define r1 1
#define r2 2
#define r3 3
#define r4 4
#define r5 5
#define r6 6
#define r7 7
#define r8 8
#define r9 9
#define r10 10
#define r11 11
#define r12 12
#define r13 13
#define r14 14
#define r15 15
#define r16 16
#define r17 17
#define r18 18
#define r19 19
#define r20 20
#define r21 21
#define r22 22
#define r23 23
#define r24 24
#define r25 25
#define r26 26
#define r27 27
#define r28 28
#define r29 29
#define r30 30
#define r31 31
 
/* GPR Aliases */
#define sp 1
 
/* Floating Point Registers (FPRs) */
#define fr0 0
#define fr1 1
#define fr2 2
#define fr3 3
#define fr4 4
#define fr5 5
#define fr6 6
#define fr7 7
#define fr8 8
#define fr9 9
#define fr10 10
#define fr11 11
#define fr12 12
#define fr13 13
#define fr14 14
#define fr15 15
#define fr16 16
#define fr17 17
#define fr18 18
#define fr19 19
#define fr20 20
#define fr21 21
#define fr22 22
#define fr23 23
#define fr24 24
#define fr25 25
#define fr26 26
#define fr27 27
#define fr28 28
#define fr29 29
#define fr30 30
#define fr31 31
 
#define vr0 0
#define vr1 1
#define vr2 2
#define vr3 3
#define vr4 4
#define vr5 5
#define vr6 6
#define vr7 7
#define vr8 8
#define vr9 9
#define vr10 10
#define vr11 11
#define vr12 12
#define vr13 13
#define vr14 14
#define vr15 15
#define vr16 16
#define vr17 17
#define vr18 18
#define vr19 19
#define vr20 20
#define vr21 21
#define vr22 22
#define vr23 23
#define vr24 24
#define vr25 25
#define vr26 26
#define vr27 27
#define vr28 28
#define vr29 29
#define vr30 30
#define vr31 31
 
#define evr0 0
#define evr1 1
#define evr2 2
#define evr3 3
#define evr4 4
#define evr5 5
#define evr6 6
#define evr7 7
#define evr8 8
#define evr9 9
#define evr10 10
#define evr11 11
#define evr12 12
#define evr13 13
#define evr14 14
#define evr15 15
#define evr16 16
#define evr17 17
#define evr18 18
#define evr19 19
#define evr20 20
#define evr21 21
#define evr22 22
#define evr23 23
#define evr24 24
#define evr25 25
#define evr26 26
#define evr27 27
#define evr28 28
#define evr29 29
#define evr30 30
#define evr31 31
 
/* Special Purpose Registers (SPRs) */
#define xer 1
#define lr 8
#define ctr 9
#define dec 22
#define sdr1 25
#define srr0 26
#define srr1 27
#define sprg0 272
#define sprg1 273
#define sprg2 274
#define sprg3 275
#define prv 287
#define hid0 1008
 
/* MSR bits */
#define msr_ir (1 << 4)
#define msr_dr (1 << 5)
 
/* HID0 bits */
#define hid0_ice (1 << 15)
#define hid0_dce (1 << 14)
#define hid0_icfi (1 << 11)
#define hid0_dci (1 << 10)
 
#endif
/branches/network/boot/arch/ppc64/loader/asm.h
0,0 → 1,52
/*
* Copyright (c) 2006 Martin Decky
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* - Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* - Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* - The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
 
#ifndef BOOT_ppc64_ASM_H_
#define BOOT_ppc64_ASM_H_
 
#define PAGE_SIZE 4096
#define PAGE_WIDTH 12
 
#define TRANS_SIZE 1024
#define TRANS_ITEM_SIZE 8
 
#define KERNEL_START_ADDR 0x80008000
 
#ifndef __ASM__
 
#define memcpy(dst, src, cnt) __builtin_memcpy((dst), (src), (cnt))
 
extern void *trans[TRANS_SIZE];
 
extern void halt();
extern void jump_to_kernel(void *bootinfo, unsigned long bootinfo_size, void *trans, unsigned long kernel_size, void *real_mode, void *fb, unsigned long scanline) __attribute__((noreturn));
extern void real_mode();
 
#endif
 
#endif
/branches/network/boot/arch/ppc64/loader/main.h
0,0 → 1,58
/*
* Copyright (c) 2005 Martin Decky
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* - Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* - Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* - The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
 
#ifndef BOOT_ppc64_MAIN_H_
#define BOOT_ppc64_MAIN_H_
 
#include "ofw.h"
 
#define TASKMAP_MAX_RECORDS 32
 
typedef struct {
void *addr;
unsigned long size;
} task_t;
 
typedef struct {
unsigned long count;
task_t tasks[TASKMAP_MAX_RECORDS];
} taskmap_t;
 
typedef struct {
memmap_t memmap;
taskmap_t taskmap;
screen_t screen;
keyboard_t keyboard;
} bootinfo_t;
 
extern void start(void);
extern void bootstrap(void);
 
extern memmap_t memmap;
 
#endif
/branches/network/boot/arch/ppc64/loader/ofwarch.c
0,0 → 1,68
/*
* Copyright (c) 2005 Martin Decky
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* - Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* - Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* - The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
 
#include <ofwarch.h>
#include <ofw.h>
#include <printf.h>
 
typedef int (* ofw_entry_t)(ofw_args_t *args);
 
int ofw(ofw_args_t *args)
{
return ((ofw_entry_t) ofw_cif)(args);
}
 
void write(const char *str, const int len)
{
ofw_write(str, len);
}
 
int ofw_keyboard(keyboard_t *keyboard)
{
char device_name[BUF_SIZE];
if (ofw_get_property(ofw_aliases, "macio", device_name, sizeof(device_name)) <= 0)
return false;
phandle device = ofw_find_device(device_name);
if (device == -1)
return false;
pci_reg_t macio;
if (ofw_get_property(device, "assigned-addresses", &macio, sizeof(macio)) <= 0)
return false;
keyboard->addr = (void *) (((unsigned long) macio.addr.addr_lo) | (((unsigned long) macio.addr.addr_hi) << 32));
keyboard->size = macio.size_lo;
 
return true;
}
 
int ofw_translate_failed(ofw_arg_t flag)
{
return 0;
}
/branches/network/boot/arch/ppc64/loader/types.h
0,0 → 1,44
/*
* Copyright (c) 2006 Martin Decky
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* - Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* - Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* - The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
 
#ifndef BOOT_ppc64_TYPES_H_
#define BOOT_ppc64_TYPES_H_
 
#include <gentypes.h>
 
typedef signed char int8_t;
 
typedef unsigned char uint8_t;
typedef unsigned short uint16_t;
typedef unsigned int uint32_t;
typedef unsigned long uint64_t;
 
typedef uint64_t uintptr_t;
typedef uint64_t unative_t;
 
#endif
/branches/network/boot/arch/ppc64/loader/debug.inc
0,0 → 1,11479
#
# Copyright (C) 2006 Martin Decky
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# - Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# - Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# - The name of the author may not be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
 
.macro DEBUG_INIT
#ifdef CONFIG_DEBUG
lis r11, 65535
ori r11, r11, 65535
lis r12, 0
ori r12, r12, 0
mr r10, r8
#endif
.endm
 
.macro DEBUG_real_mode
#ifdef CONFIG_DEBUG
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r11, 108(r10)
stw r11, 112(r10)
stw r11, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r11, 240(r10)
stw r11, 244(r10)
stw r11, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r11, 112(r10)
stw r11, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r11, 244(r10)
stw r11, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r11, 112(r10)
stw r11, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r11, 244(r10)
stw r11, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r12, 12(r10)
stw r11, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r11, 112(r10)
stw r11, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r11, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r11, 180(r10)
stw r11, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r11, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r11, 212(r10)
stw r11, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r11, 236(r10)
stw r11, 240(r10)
stw r11, 244(r10)
stw r11, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r11, 264(r10)
stw r11, 268(r10)
stw r11, 272(r10)
stw r11, 276(r10)
stw r11, 280(r10)
stw r12, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r11, 112(r10)
stw r11, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r11, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r11, 176(r10)
stw r11, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r11, 216(r10)
stw r11, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r11, 232(r10)
stw r11, 236(r10)
stw r12, 240(r10)
stw r11, 244(r10)
stw r11, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r11, 260(r10)
stw r11, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r11, 280(r10)
stw r11, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r11, 112(r10)
stw r11, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r11, 164(r10)
stw r11, 168(r10)
stw r12, 172(r10)
stw r11, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r11, 216(r10)
stw r11, 220(r10)
stw r12, 224(r10)
stw r11, 228(r10)
stw r11, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r11, 244(r10)
stw r11, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r11, 260(r10)
stw r11, 264(r10)
stw r11, 268(r10)
stw r11, 272(r10)
stw r11, 276(r10)
stw r11, 280(r10)
stw r11, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r11, 112(r10)
stw r11, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r11, 164(r10)
stw r11, 168(r10)
stw r12, 172(r10)
stw r11, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r11, 216(r10)
stw r11, 220(r10)
stw r12, 224(r10)
stw r11, 228(r10)
stw r11, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r11, 244(r10)
stw r11, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r11, 260(r10)
stw r11, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r11, 112(r10)
stw r11, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r11, 164(r10)
stw r11, 168(r10)
stw r12, 172(r10)
stw r11, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r11, 216(r10)
stw r11, 220(r10)
stw r12, 224(r10)
stw r11, 228(r10)
stw r11, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r11, 244(r10)
stw r11, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r11, 260(r10)
stw r11, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r11, 112(r10)
stw r11, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r11, 164(r10)
stw r11, 168(r10)
stw r12, 172(r10)
stw r11, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r11, 216(r10)
stw r11, 220(r10)
stw r12, 224(r10)
stw r11, 228(r10)
stw r11, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r11, 244(r10)
stw r11, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r11, 260(r10)
stw r11, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r11, 280(r10)
stw r11, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r11, 88(r10)
stw r11, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r11, 108(r10)
stw r11, 112(r10)
stw r11, 116(r10)
stw r11, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r11, 164(r10)
stw r11, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r11, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r11, 212(r10)
stw r11, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r11, 232(r10)
stw r11, 236(r10)
stw r11, 240(r10)
stw r12, 244(r10)
stw r11, 248(r10)
stw r11, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r11, 264(r10)
stw r11, 268(r10)
stw r11, 272(r10)
stw r11, 276(r10)
stw r11, 280(r10)
stw r12, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r11, 132(r10)
stw r11, 136(r10)
stw r11, 140(r10)
stw r11, 144(r10)
stw r11, 148(r10)
stw r11, 152(r10)
stw r11, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
#endif
.endm
 
.macro DEBUG_copy_loop
#ifdef CONFIG_DEBUG
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r11, 172(r10)
stw r11, 176(r10)
stw r11, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r11, 176(r10)
stw r11, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r11, 176(r10)
stw r11, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r12, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r11, 100(r10)
stw r11, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r11, 176(r10)
stw r11, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r11, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r11, 212(r10)
stw r11, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r11, 232(r10)
stw r11, 236(r10)
stw r11, 240(r10)
stw r11, 244(r10)
stw r11, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r11, 260(r10)
stw r11, 264(r10)
stw r12, 268(r10)
stw r11, 272(r10)
stw r11, 276(r10)
stw r11, 280(r10)
stw r12, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r11, 88(r10)
stw r11, 92(r10)
stw r12, 96(r10)
stw r11, 100(r10)
stw r11, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r11, 176(r10)
stw r11, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r11, 216(r10)
stw r11, 220(r10)
stw r12, 224(r10)
stw r11, 228(r10)
stw r11, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r11, 248(r10)
stw r11, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r11, 264(r10)
stw r11, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r11, 280(r10)
stw r11, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r11, 88(r10)
stw r11, 92(r10)
stw r12, 96(r10)
stw r11, 100(r10)
stw r11, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r11, 176(r10)
stw r11, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r11, 216(r10)
stw r11, 220(r10)
stw r12, 224(r10)
stw r11, 228(r10)
stw r11, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r11, 248(r10)
stw r11, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r11, 264(r10)
stw r11, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r11, 280(r10)
stw r11, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r11, 88(r10)
stw r11, 92(r10)
stw r12, 96(r10)
stw r11, 100(r10)
stw r11, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r11, 176(r10)
stw r11, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r11, 216(r10)
stw r11, 220(r10)
stw r12, 224(r10)
stw r11, 228(r10)
stw r11, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r11, 248(r10)
stw r11, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r11, 264(r10)
stw r11, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r11, 280(r10)
stw r11, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r11, 88(r10)
stw r11, 92(r10)
stw r12, 96(r10)
stw r11, 100(r10)
stw r11, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r11, 176(r10)
stw r11, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r11, 216(r10)
stw r11, 220(r10)
stw r12, 224(r10)
stw r11, 228(r10)
stw r11, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r11, 248(r10)
stw r11, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r11, 264(r10)
stw r11, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r11, 280(r10)
stw r11, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r11, 88(r10)
stw r11, 92(r10)
stw r12, 96(r10)
stw r11, 100(r10)
stw r11, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r11, 176(r10)
stw r11, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r11, 216(r10)
stw r11, 220(r10)
stw r12, 224(r10)
stw r11, 228(r10)
stw r11, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r11, 248(r10)
stw r11, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r11, 264(r10)
stw r11, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r11, 280(r10)
stw r11, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r11, 112(r10)
stw r11, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r11, 172(r10)
stw r11, 176(r10)
stw r11, 180(r10)
stw r11, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r11, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r11, 212(r10)
stw r11, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r11, 232(r10)
stw r11, 236(r10)
stw r11, 240(r10)
stw r11, 244(r10)
stw r11, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r11, 264(r10)
stw r11, 268(r10)
stw r11, 272(r10)
stw r11, 276(r10)
stw r11, 280(r10)
stw r12, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r11, 264(r10)
stw r11, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r11, 116(r10)
stw r11, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r11, 132(r10)
stw r11, 136(r10)
stw r11, 140(r10)
stw r11, 144(r10)
stw r11, 148(r10)
stw r11, 152(r10)
stw r11, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r11, 264(r10)
stw r11, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r11, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r11, 112(r10)
stw r11, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r11, 260(r10)
stw r11, 264(r10)
stw r11, 268(r10)
stw r11, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
#endif
.endm
 
.macro DEBUG_end_copy_loop
#ifdef CONFIG_DEBUG
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r12, 304(r10)
stw r12, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r12, 324(r10)
stw r12, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r12, 344(r10)
stw r12, 348(r10)
stw r12, 352(r10)
stw r12, 356(r10)
stw r12, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r12, 372(r10)
stw r12, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r12, 392(r10)
stw r12, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r12, 408(r10)
stw r12, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r12, 304(r10)
stw r12, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r12, 324(r10)
stw r12, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r12, 344(r10)
stw r12, 348(r10)
stw r12, 352(r10)
stw r12, 356(r10)
stw r12, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r12, 372(r10)
stw r12, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r12, 392(r10)
stw r12, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r12, 408(r10)
stw r12, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r11, 300(r10)
stw r11, 304(r10)
stw r11, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r12, 324(r10)
stw r12, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r12, 344(r10)
stw r12, 348(r10)
stw r12, 352(r10)
stw r12, 356(r10)
stw r12, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r12, 372(r10)
stw r12, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r12, 392(r10)
stw r12, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r12, 408(r10)
stw r12, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r11, 304(r10)
stw r11, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r12, 324(r10)
stw r12, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r12, 344(r10)
stw r12, 348(r10)
stw r12, 352(r10)
stw r12, 356(r10)
stw r12, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r12, 372(r10)
stw r12, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r12, 392(r10)
stw r12, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r12, 408(r10)
stw r12, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r11, 304(r10)
stw r11, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r12, 324(r10)
stw r12, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r12, 344(r10)
stw r12, 348(r10)
stw r12, 352(r10)
stw r12, 356(r10)
stw r12, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r12, 372(r10)
stw r12, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r12, 392(r10)
stw r12, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r12, 408(r10)
stw r12, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r11, 136(r10)
stw r11, 140(r10)
stw r11, 144(r10)
stw r11, 148(r10)
stw r11, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r11, 176(r10)
stw r11, 180(r10)
stw r11, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r12, 204(r10)
stw r11, 208(r10)
stw r11, 212(r10)
stw r11, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r11, 228(r10)
stw r11, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r11, 248(r10)
stw r11, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r11, 304(r10)
stw r11, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r12, 324(r10)
stw r11, 328(r10)
stw r11, 332(r10)
stw r11, 336(r10)
stw r11, 340(r10)
stw r11, 344(r10)
stw r12, 348(r10)
stw r12, 352(r10)
stw r12, 356(r10)
stw r11, 360(r10)
stw r11, 364(r10)
stw r11, 368(r10)
stw r11, 372(r10)
stw r11, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r11, 388(r10)
stw r11, 392(r10)
stw r12, 396(r10)
stw r11, 400(r10)
stw r11, 404(r10)
stw r11, 408(r10)
stw r12, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r11, 132(r10)
stw r11, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r11, 152(r10)
stw r11, 156(r10)
stw r12, 160(r10)
stw r11, 164(r10)
stw r11, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r11, 200(r10)
stw r11, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r11, 216(r10)
stw r11, 220(r10)
stw r12, 224(r10)
stw r11, 228(r10)
stw r11, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r11, 248(r10)
stw r11, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r11, 304(r10)
stw r11, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r11, 324(r10)
stw r11, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r11, 344(r10)
stw r11, 348(r10)
stw r12, 352(r10)
stw r11, 356(r10)
stw r11, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r12, 372(r10)
stw r11, 376(r10)
stw r11, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r11, 392(r10)
stw r11, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r11, 408(r10)
stw r11, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r11, 132(r10)
stw r11, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r11, 164(r10)
stw r11, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r11, 200(r10)
stw r11, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r11, 216(r10)
stw r11, 220(r10)
stw r12, 224(r10)
stw r11, 228(r10)
stw r11, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r11, 248(r10)
stw r11, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r11, 304(r10)
stw r11, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r11, 324(r10)
stw r11, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r11, 344(r10)
stw r11, 348(r10)
stw r12, 352(r10)
stw r11, 356(r10)
stw r11, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r12, 372(r10)
stw r11, 376(r10)
stw r11, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r11, 392(r10)
stw r11, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r11, 408(r10)
stw r11, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r11, 132(r10)
stw r11, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r11, 164(r10)
stw r11, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r11, 200(r10)
stw r11, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r11, 216(r10)
stw r11, 220(r10)
stw r12, 224(r10)
stw r11, 228(r10)
stw r11, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r11, 248(r10)
stw r11, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r11, 304(r10)
stw r11, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r11, 324(r10)
stw r11, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r11, 344(r10)
stw r11, 348(r10)
stw r12, 352(r10)
stw r11, 356(r10)
stw r11, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r12, 372(r10)
stw r11, 376(r10)
stw r11, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r11, 392(r10)
stw r11, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r11, 408(r10)
stw r11, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r11, 132(r10)
stw r11, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r11, 164(r10)
stw r11, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r11, 200(r10)
stw r11, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r11, 216(r10)
stw r11, 220(r10)
stw r12, 224(r10)
stw r11, 228(r10)
stw r11, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r11, 248(r10)
stw r11, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r11, 304(r10)
stw r11, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r11, 324(r10)
stw r11, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r11, 344(r10)
stw r11, 348(r10)
stw r12, 352(r10)
stw r11, 356(r10)
stw r11, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r12, 372(r10)
stw r11, 376(r10)
stw r11, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r11, 392(r10)
stw r11, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r11, 408(r10)
stw r11, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r11, 132(r10)
stw r11, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r11, 152(r10)
stw r11, 156(r10)
stw r12, 160(r10)
stw r11, 164(r10)
stw r11, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r11, 200(r10)
stw r11, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r11, 216(r10)
stw r11, 220(r10)
stw r12, 224(r10)
stw r11, 228(r10)
stw r11, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r11, 248(r10)
stw r11, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r11, 304(r10)
stw r11, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r11, 324(r10)
stw r11, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r11, 344(r10)
stw r11, 348(r10)
stw r12, 352(r10)
stw r11, 356(r10)
stw r11, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r12, 372(r10)
stw r11, 376(r10)
stw r11, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r11, 392(r10)
stw r11, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r11, 408(r10)
stw r11, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r11, 88(r10)
stw r11, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r11, 136(r10)
stw r11, 140(r10)
stw r11, 144(r10)
stw r11, 148(r10)
stw r11, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r11, 176(r10)
stw r11, 180(r10)
stw r11, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r11, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r11, 212(r10)
stw r11, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r11, 232(r10)
stw r11, 236(r10)
stw r11, 240(r10)
stw r11, 244(r10)
stw r11, 248(r10)
stw r11, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r11, 300(r10)
stw r11, 304(r10)
stw r11, 308(r10)
stw r11, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r12, 324(r10)
stw r11, 328(r10)
stw r11, 332(r10)
stw r11, 336(r10)
stw r11, 340(r10)
stw r11, 344(r10)
stw r12, 348(r10)
stw r12, 352(r10)
stw r12, 356(r10)
stw r11, 360(r10)
stw r11, 364(r10)
stw r11, 368(r10)
stw r11, 372(r10)
stw r11, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r11, 392(r10)
stw r11, 396(r10)
stw r11, 400(r10)
stw r11, 404(r10)
stw r11, 408(r10)
stw r12, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r11, 200(r10)
stw r11, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r11, 248(r10)
stw r11, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r12, 304(r10)
stw r12, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r12, 324(r10)
stw r12, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r12, 344(r10)
stw r12, 348(r10)
stw r12, 352(r10)
stw r12, 356(r10)
stw r12, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r12, 372(r10)
stw r12, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r11, 392(r10)
stw r11, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r12, 408(r10)
stw r12, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r11, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r11, 112(r10)
stw r11, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r11, 200(r10)
stw r11, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r11, 244(r10)
stw r11, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r11, 260(r10)
stw r11, 264(r10)
stw r11, 268(r10)
stw r11, 272(r10)
stw r11, 276(r10)
stw r11, 280(r10)
stw r11, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r12, 304(r10)
stw r12, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r12, 324(r10)
stw r12, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r12, 344(r10)
stw r12, 348(r10)
stw r12, 352(r10)
stw r12, 356(r10)
stw r12, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r12, 372(r10)
stw r12, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r11, 392(r10)
stw r11, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r12, 408(r10)
stw r12, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r11, 228(r10)
stw r11, 232(r10)
stw r11, 236(r10)
stw r11, 240(r10)
stw r11, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r12, 304(r10)
stw r12, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r12, 324(r10)
stw r12, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r12, 344(r10)
stw r12, 348(r10)
stw r12, 352(r10)
stw r12, 356(r10)
stw r12, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r12, 372(r10)
stw r12, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r11, 388(r10)
stw r11, 392(r10)
stw r11, 396(r10)
stw r11, 400(r10)
stw r12, 404(r10)
stw r12, 408(r10)
stw r12, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r12, 304(r10)
stw r12, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r12, 324(r10)
stw r12, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r12, 344(r10)
stw r12, 348(r10)
stw r12, 352(r10)
stw r12, 356(r10)
stw r12, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r12, 372(r10)
stw r12, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r12, 392(r10)
stw r12, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r12, 408(r10)
stw r12, 412(r10)
#endif
.endm
 
.macro DEBUG_segments
#ifdef CONFIG_DEBUG
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r11, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r11, 88(r10)
stw r11, 92(r10)
stw r12, 96(r10)
stw r11, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r12, 112(r10)
stw r11, 116(r10)
stw r11, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r11, 136(r10)
stw r11, 140(r10)
stw r11, 144(r10)
stw r11, 148(r10)
stw r11, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r11, 164(r10)
stw r11, 168(r10)
stw r12, 172(r10)
stw r11, 176(r10)
stw r11, 180(r10)
stw r11, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r11, 212(r10)
stw r11, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r11, 232(r10)
stw r11, 236(r10)
stw r11, 240(r10)
stw r11, 244(r10)
stw r11, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r11, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r11, 112(r10)
stw r11, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r11, 132(r10)
stw r11, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r11, 152(r10)
stw r11, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r11, 228(r10)
stw r11, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r11, 248(r10)
stw r11, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r11, 100(r10)
stw r11, 104(r10)
stw r12, 108(r10)
stw r11, 112(r10)
stw r12, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r11, 132(r10)
stw r11, 136(r10)
stw r11, 140(r10)
stw r11, 144(r10)
stw r11, 148(r10)
stw r11, 152(r10)
stw r11, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r11, 232(r10)
stw r11, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r11, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r11, 100(r10)
stw r11, 104(r10)
stw r12, 108(r10)
stw r11, 112(r10)
stw r12, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r11, 132(r10)
stw r11, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r11, 236(r10)
stw r11, 240(r10)
stw r11, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r11, 100(r10)
stw r11, 104(r10)
stw r12, 108(r10)
stw r11, 112(r10)
stw r12, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r11, 132(r10)
stw r11, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r11, 244(r10)
stw r11, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r11, 100(r10)
stw r11, 104(r10)
stw r12, 108(r10)
stw r11, 112(r10)
stw r12, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r11, 132(r10)
stw r11, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r11, 152(r10)
stw r11, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r12, 212(r10)
stw r11, 216(r10)
stw r11, 220(r10)
stw r12, 224(r10)
stw r11, 228(r10)
stw r11, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r11, 248(r10)
stw r11, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r11, 100(r10)
stw r11, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r11, 136(r10)
stw r11, 140(r10)
stw r11, 144(r10)
stw r11, 148(r10)
stw r11, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r11, 208(r10)
stw r11, 212(r10)
stw r11, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r11, 232(r10)
stw r11, 236(r10)
stw r11, 240(r10)
stw r11, 244(r10)
stw r11, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
#endif
.endm
 
.macro DEBUG_bat
#ifdef CONFIG_DEBUG
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r11, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r11, 88(r10)
stw r11, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
#endif
.endm
 
.macro DEBUG_mapping
#ifdef CONFIG_DEBUG
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r11, 144(r10)
stw r11, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r11, 144(r10)
stw r11, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r12, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r11, 100(r10)
stw r11, 104(r10)
stw r12, 108(r10)
stw r11, 112(r10)
stw r11, 116(r10)
stw r11, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r11, 140(r10)
stw r11, 144(r10)
stw r11, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r11, 164(r10)
stw r11, 168(r10)
stw r12, 172(r10)
stw r11, 176(r10)
stw r11, 180(r10)
stw r11, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r11, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r12, 212(r10)
stw r11, 216(r10)
stw r11, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r11, 88(r10)
stw r11, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r11, 144(r10)
stw r11, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r11, 212(r10)
stw r11, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r12, 12(r10)
stw r11, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r11, 88(r10)
stw r11, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r11, 144(r10)
stw r11, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r11, 212(r10)
stw r11, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r12, 12(r10)
stw r11, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r11, 88(r10)
stw r11, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r11, 144(r10)
stw r11, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r11, 212(r10)
stw r11, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r12, 12(r10)
stw r11, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r11, 88(r10)
stw r11, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r11, 144(r10)
stw r11, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r11, 212(r10)
stw r11, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r12, 12(r10)
stw r11, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r11, 88(r10)
stw r11, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r11, 144(r10)
stw r11, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r11, 212(r10)
stw r11, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r11, 112(r10)
stw r11, 116(r10)
stw r11, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r11, 140(r10)
stw r11, 144(r10)
stw r11, 148(r10)
stw r11, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r11, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r11, 212(r10)
stw r11, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r11, 212(r10)
stw r11, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r11, 212(r10)
stw r11, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r11, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r11, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r11, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r11, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
#endif
.endm
 
.macro DEBUG_tlb
#ifdef CONFIG_DEBUG
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r11, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r11, 88(r10)
stw r11, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r11, 88(r10)
stw r11, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r11, 88(r10)
stw r11, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r11, 88(r10)
stw r11, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r11, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
#endif
.endm
 
.macro DEBUG_prepare
#ifdef CONFIG_DEBUG
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r12, 12(r10)
stw r11, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r11, 100(r10)
stw r11, 104(r10)
stw r12, 108(r10)
stw r11, 112(r10)
stw r11, 116(r10)
stw r11, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r11, 136(r10)
stw r11, 140(r10)
stw r11, 144(r10)
stw r11, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r11, 164(r10)
stw r11, 168(r10)
stw r12, 172(r10)
stw r11, 176(r10)
stw r11, 180(r10)
stw r11, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r11, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r11, 212(r10)
stw r11, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r11, 88(r10)
stw r11, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r11, 148(r10)
stw r11, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r11, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r11, 216(r10)
stw r11, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r11, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r11, 136(r10)
stw r11, 140(r10)
stw r11, 144(r10)
stw r11, 148(r10)
stw r11, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r11, 212(r10)
stw r11, 216(r10)
stw r11, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r11, 132(r10)
stw r11, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r11, 148(r10)
stw r11, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r11, 132(r10)
stw r11, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r11, 148(r10)
stw r11, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r11, 88(r10)
stw r11, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r11, 132(r10)
stw r11, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r11, 148(r10)
stw r11, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r11, 216(r10)
stw r11, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r11, 112(r10)
stw r11, 116(r10)
stw r11, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r11, 136(r10)
stw r11, 140(r10)
stw r11, 144(r10)
stw r12, 148(r10)
stw r11, 152(r10)
stw r11, 156(r10)
stw r12, 160(r10)
stw r11, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r11, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r11, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r11, 212(r10)
stw r11, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r11, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r11, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
#endif
.endm
 
.macro DEBUG_rfi
#ifdef CONFIG_DEBUG
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r12, 12(r10)
stw r11, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
#endif
.endm
 
.macro DEBUG_pht
#ifdef CONFIG_DEBUG
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r12, 12(r10)
stw r11, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r11, 88(r10)
stw r11, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
#endif
.endm
 
.macro DEBUG_end_pht_clear
#ifdef CONFIG_DEBUG
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r12, 304(r10)
stw r12, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r12, 324(r10)
stw r12, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r12, 344(r10)
stw r12, 348(r10)
stw r12, 352(r10)
stw r12, 356(r10)
stw r12, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r12, 372(r10)
stw r12, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r12, 392(r10)
stw r12, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r12, 408(r10)
stw r12, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r12, 304(r10)
stw r12, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r12, 324(r10)
stw r12, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r12, 344(r10)
stw r12, 348(r10)
stw r12, 352(r10)
stw r12, 356(r10)
stw r12, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r12, 372(r10)
stw r12, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r12, 392(r10)
stw r12, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r12, 408(r10)
stw r12, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r11, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r11, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r11, 300(r10)
stw r11, 304(r10)
stw r11, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r12, 324(r10)
stw r12, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r12, 344(r10)
stw r12, 348(r10)
stw r12, 352(r10)
stw r12, 356(r10)
stw r12, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r12, 372(r10)
stw r12, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r12, 392(r10)
stw r12, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r12, 408(r10)
stw r12, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r11, 304(r10)
stw r11, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r12, 324(r10)
stw r12, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r12, 344(r10)
stw r12, 348(r10)
stw r12, 352(r10)
stw r12, 356(r10)
stw r12, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r12, 372(r10)
stw r12, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r12, 392(r10)
stw r12, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r12, 408(r10)
stw r12, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r11, 304(r10)
stw r11, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r12, 324(r10)
stw r12, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r12, 344(r10)
stw r12, 348(r10)
stw r12, 352(r10)
stw r12, 356(r10)
stw r12, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r12, 372(r10)
stw r12, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r12, 392(r10)
stw r12, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r12, 408(r10)
stw r12, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r11, 132(r10)
stw r11, 136(r10)
stw r12, 140(r10)
stw r11, 144(r10)
stw r11, 148(r10)
stw r11, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r11, 180(r10)
stw r11, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r11, 212(r10)
stw r11, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r11, 264(r10)
stw r11, 268(r10)
stw r11, 272(r10)
stw r11, 276(r10)
stw r11, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r11, 304(r10)
stw r11, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r12, 324(r10)
stw r11, 328(r10)
stw r11, 332(r10)
stw r11, 336(r10)
stw r11, 340(r10)
stw r11, 344(r10)
stw r12, 348(r10)
stw r12, 352(r10)
stw r12, 356(r10)
stw r11, 360(r10)
stw r11, 364(r10)
stw r11, 368(r10)
stw r11, 372(r10)
stw r12, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r11, 388(r10)
stw r11, 392(r10)
stw r12, 396(r10)
stw r11, 400(r10)
stw r11, 404(r10)
stw r11, 408(r10)
stw r12, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r11, 136(r10)
stw r11, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r11, 152(r10)
stw r11, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r11, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r11, 260(r10)
stw r11, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r11, 280(r10)
stw r11, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r11, 304(r10)
stw r11, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r11, 324(r10)
stw r11, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r11, 344(r10)
stw r11, 348(r10)
stw r12, 352(r10)
stw r12, 356(r10)
stw r12, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r11, 372(r10)
stw r11, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r11, 392(r10)
stw r11, 396(r10)
stw r11, 400(r10)
stw r12, 404(r10)
stw r11, 408(r10)
stw r11, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r11, 136(r10)
stw r11, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r11, 152(r10)
stw r11, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r11, 260(r10)
stw r11, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r11, 304(r10)
stw r11, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r11, 324(r10)
stw r11, 328(r10)
stw r11, 332(r10)
stw r11, 336(r10)
stw r11, 340(r10)
stw r11, 344(r10)
stw r11, 348(r10)
stw r12, 352(r10)
stw r12, 356(r10)
stw r11, 360(r10)
stw r11, 364(r10)
stw r11, 368(r10)
stw r11, 372(r10)
stw r11, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r11, 392(r10)
stw r11, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r11, 408(r10)
stw r11, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r11, 136(r10)
stw r11, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r11, 152(r10)
stw r11, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r11, 260(r10)
stw r11, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r11, 304(r10)
stw r11, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r11, 324(r10)
stw r11, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r12, 344(r10)
stw r12, 348(r10)
stw r12, 352(r10)
stw r11, 356(r10)
stw r11, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r11, 372(r10)
stw r11, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r11, 392(r10)
stw r11, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r12, 408(r10)
stw r12, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r11, 136(r10)
stw r11, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r11, 152(r10)
stw r11, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r11, 260(r10)
stw r11, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r11, 304(r10)
stw r11, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r11, 324(r10)
stw r11, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r12, 344(r10)
stw r12, 348(r10)
stw r12, 352(r10)
stw r11, 356(r10)
stw r11, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r11, 372(r10)
stw r11, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r11, 392(r10)
stw r11, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r12, 408(r10)
stw r12, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r11, 136(r10)
stw r11, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r11, 152(r10)
stw r11, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r12, 212(r10)
stw r11, 216(r10)
stw r11, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r11, 260(r10)
stw r11, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r11, 280(r10)
stw r11, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r11, 304(r10)
stw r11, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r11, 324(r10)
stw r11, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r11, 344(r10)
stw r11, 348(r10)
stw r12, 352(r10)
stw r11, 356(r10)
stw r11, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r11, 372(r10)
stw r11, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r11, 392(r10)
stw r11, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r12, 408(r10)
stw r12, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r11, 88(r10)
stw r11, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r11, 136(r10)
stw r11, 140(r10)
stw r11, 144(r10)
stw r11, 148(r10)
stw r11, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r11, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r11, 208(r10)
stw r11, 212(r10)
stw r11, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r11, 264(r10)
stw r11, 268(r10)
stw r11, 272(r10)
stw r11, 276(r10)
stw r11, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r11, 300(r10)
stw r11, 304(r10)
stw r11, 308(r10)
stw r11, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r12, 324(r10)
stw r11, 328(r10)
stw r11, 332(r10)
stw r11, 336(r10)
stw r11, 340(r10)
stw r11, 344(r10)
stw r12, 348(r10)
stw r12, 352(r10)
stw r12, 356(r10)
stw r11, 360(r10)
stw r11, 364(r10)
stw r11, 368(r10)
stw r12, 372(r10)
stw r11, 376(r10)
stw r11, 380(r10)
stw r12, 384(r10)
stw r11, 388(r10)
stw r11, 392(r10)
stw r11, 396(r10)
stw r11, 400(r10)
stw r12, 404(r10)
stw r12, 408(r10)
stw r12, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r11, 136(r10)
stw r11, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r12, 304(r10)
stw r12, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r12, 324(r10)
stw r12, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r12, 344(r10)
stw r12, 348(r10)
stw r12, 352(r10)
stw r12, 356(r10)
stw r12, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r12, 372(r10)
stw r12, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r12, 392(r10)
stw r12, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r12, 408(r10)
stw r12, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r11, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r11, 112(r10)
stw r11, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r11, 136(r10)
stw r11, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r11, 228(r10)
stw r11, 232(r10)
stw r11, 236(r10)
stw r11, 240(r10)
stw r11, 244(r10)
stw r11, 248(r10)
stw r11, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r12, 304(r10)
stw r12, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r12, 324(r10)
stw r12, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r12, 344(r10)
stw r12, 348(r10)
stw r12, 352(r10)
stw r12, 356(r10)
stw r12, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r12, 372(r10)
stw r12, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r12, 392(r10)
stw r12, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r12, 408(r10)
stw r12, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r11, 132(r10)
stw r11, 136(r10)
stw r11, 140(r10)
stw r11, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r12, 304(r10)
stw r12, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r12, 324(r10)
stw r12, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r12, 344(r10)
stw r12, 348(r10)
stw r12, 352(r10)
stw r12, 356(r10)
stw r12, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r12, 372(r10)
stw r12, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r12, 392(r10)
stw r12, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r12, 408(r10)
stw r12, 412(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
stw r12, 256(r10)
stw r12, 260(r10)
stw r12, 264(r10)
stw r12, 268(r10)
stw r12, 272(r10)
stw r12, 276(r10)
stw r12, 280(r10)
stw r12, 284(r10)
stw r12, 288(r10)
stw r12, 292(r10)
stw r12, 296(r10)
stw r12, 300(r10)
stw r12, 304(r10)
stw r12, 308(r10)
stw r12, 312(r10)
stw r12, 316(r10)
stw r12, 320(r10)
stw r12, 324(r10)
stw r12, 328(r10)
stw r12, 332(r10)
stw r12, 336(r10)
stw r12, 340(r10)
stw r12, 344(r10)
stw r12, 348(r10)
stw r12, 352(r10)
stw r12, 356(r10)
stw r12, 360(r10)
stw r12, 364(r10)
stw r12, 368(r10)
stw r12, 372(r10)
stw r12, 376(r10)
stw r12, 380(r10)
stw r12, 384(r10)
stw r12, 388(r10)
stw r12, 392(r10)
stw r12, 396(r10)
stw r12, 400(r10)
stw r12, 404(r10)
stw r12, 408(r10)
stw r12, 412(r10)
#endif
.endm
 
.macro DEBUG_bat_mask
#ifdef CONFIG_DEBUG
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r11, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r11, 228(r10)
stw r11, 232(r10)
stw r11, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r11, 232(r10)
stw r11, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r11, 232(r10)
stw r11, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r11, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r11, 68(r10)
stw r11, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r11, 132(r10)
stw r11, 136(r10)
stw r11, 140(r10)
stw r12, 144(r10)
stw r11, 148(r10)
stw r11, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r11, 176(r10)
stw r11, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r11, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r11, 212(r10)
stw r11, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r11, 232(r10)
stw r11, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r11, 248(r10)
stw r11, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r11, 132(r10)
stw r11, 136(r10)
stw r11, 140(r10)
stw r11, 144(r10)
stw r11, 148(r10)
stw r11, 152(r10)
stw r11, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r11, 180(r10)
stw r11, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r11, 216(r10)
stw r11, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r11, 232(r10)
stw r11, 236(r10)
stw r12, 240(r10)
stw r11, 244(r10)
stw r11, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r11, 132(r10)
stw r11, 136(r10)
stw r12, 140(r10)
stw r11, 144(r10)
stw r12, 148(r10)
stw r11, 152(r10)
stw r11, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r11, 176(r10)
stw r11, 180(r10)
stw r11, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r11, 200(r10)
stw r11, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r11, 232(r10)
stw r11, 236(r10)
stw r11, 240(r10)
stw r11, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r11, 132(r10)
stw r11, 136(r10)
stw r12, 140(r10)
stw r11, 144(r10)
stw r12, 148(r10)
stw r11, 152(r10)
stw r11, 156(r10)
stw r12, 160(r10)
stw r11, 164(r10)
stw r11, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r11, 180(r10)
stw r11, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r11, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r11, 232(r10)
stw r11, 236(r10)
stw r11, 240(r10)
stw r11, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r11, 132(r10)
stw r11, 136(r10)
stw r12, 140(r10)
stw r11, 144(r10)
stw r12, 148(r10)
stw r11, 152(r10)
stw r11, 156(r10)
stw r12, 160(r10)
stw r11, 164(r10)
stw r11, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r11, 180(r10)
stw r11, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r11, 212(r10)
stw r11, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r11, 232(r10)
stw r11, 236(r10)
stw r12, 240(r10)
stw r11, 244(r10)
stw r11, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r11, 24(r10)
stw r11, 28(r10)
stw r12, 32(r10)
stw r11, 36(r10)
stw r11, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r11, 52(r10)
stw r11, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r11, 76(r10)
stw r11, 80(r10)
stw r12, 84(r10)
stw r11, 88(r10)
stw r11, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r11, 132(r10)
stw r11, 136(r10)
stw r12, 140(r10)
stw r11, 144(r10)
stw r12, 148(r10)
stw r11, 152(r10)
stw r11, 156(r10)
stw r12, 160(r10)
stw r11, 164(r10)
stw r11, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r11, 180(r10)
stw r11, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r11, 196(r10)
stw r11, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r11, 216(r10)
stw r11, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r11, 232(r10)
stw r11, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r11, 248(r10)
stw r11, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r11, 8(r10)
stw r11, 12(r10)
stw r11, 16(r10)
stw r11, 20(r10)
stw r11, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r11, 40(r10)
stw r11, 44(r10)
stw r11, 48(r10)
stw r12, 52(r10)
stw r11, 56(r10)
stw r11, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r11, 80(r10)
stw r11, 84(r10)
stw r11, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r11, 132(r10)
stw r11, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r11, 152(r10)
stw r11, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r11, 168(r10)
stw r11, 172(r10)
stw r11, 176(r10)
stw r12, 180(r10)
stw r11, 184(r10)
stw r11, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r11, 200(r10)
stw r11, 204(r10)
stw r11, 208(r10)
stw r11, 212(r10)
stw r11, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r11, 228(r10)
stw r11, 232(r10)
stw r11, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r11, 248(r10)
stw r11, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r11, 100(r10)
stw r11, 104(r10)
stw r11, 108(r10)
stw r11, 112(r10)
stw r11, 116(r10)
stw r11, 120(r10)
stw r11, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
add r10, r10, r9
stw r12, 0(r10)
stw r12, 4(r10)
stw r12, 8(r10)
stw r12, 12(r10)
stw r12, 16(r10)
stw r12, 20(r10)
stw r12, 24(r10)
stw r12, 28(r10)
stw r12, 32(r10)
stw r12, 36(r10)
stw r12, 40(r10)
stw r12, 44(r10)
stw r12, 48(r10)
stw r12, 52(r10)
stw r12, 56(r10)
stw r12, 60(r10)
stw r12, 64(r10)
stw r12, 68(r10)
stw r12, 72(r10)
stw r12, 76(r10)
stw r12, 80(r10)
stw r12, 84(r10)
stw r12, 88(r10)
stw r12, 92(r10)
stw r12, 96(r10)
stw r12, 100(r10)
stw r12, 104(r10)
stw r12, 108(r10)
stw r12, 112(r10)
stw r12, 116(r10)
stw r12, 120(r10)
stw r12, 124(r10)
stw r12, 128(r10)
stw r12, 132(r10)
stw r12, 136(r10)
stw r12, 140(r10)
stw r12, 144(r10)
stw r12, 148(r10)
stw r12, 152(r10)
stw r12, 156(r10)
stw r12, 160(r10)
stw r12, 164(r10)
stw r12, 168(r10)
stw r12, 172(r10)
stw r12, 176(r10)
stw r12, 180(r10)
stw r12, 184(r10)
stw r12, 188(r10)
stw r12, 192(r10)
stw r12, 196(r10)
stw r12, 200(r10)
stw r12, 204(r10)
stw r12, 208(r10)
stw r12, 212(r10)
stw r12, 216(r10)
stw r12, 220(r10)
stw r12, 224(r10)
stw r12, 228(r10)
stw r12, 232(r10)
stw r12, 236(r10)
stw r12, 240(r10)
stw r12, 244(r10)
stw r12, 248(r10)
stw r12, 252(r10)
#endif
.endm
/branches/network/boot/arch/ppc64/Makefile.inc
0,0 → 1,42
#
# Copyright (c) 2006 Martin Decky
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# - Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# - Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# - The name of the author may not be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
 
build: $(BASE)/image.boot
 
$(BASE)/image.boot: depend arch/$(ARCH)/loader/image.boot
cp arch/$(ARCH)/loader/image.boot $(BASE)/image.boot
 
depend:
-rm arch/$(ARCH)/loader/image.boot
 
arch/$(ARCH)/loader/image.boot:
make -C arch/$(ARCH)/loader COMPILER=$(COMPILER) KERNELDIR=../../../$(KERNELDIR) USPACEDIR=../../../$(USPACEDIR)
 
clean: generic_clean
make -C arch/$(ARCH)/loader clean COMPILER=$(COMPILER) KERNELDIR=../../../$(KERNELDIR) USPACEDIR=../../../$(USPACEDIR)
-rm -f $(BASE)/image.boot
/branches/network/boot/arch/mips32/loader/_link.ld.in
File deleted
/branches/network/boot/arch/mips32/loader/Makefile
27,7 → 27,7
#
 
include ../../../../version
-include ../../../../Makefile.config
include ../../../Makefile.config
 
## Toolchain configuration
#
36,25 → 36,17
CROSS_PREFIX = /usr/local
endif
 
ifeq ($(IMAGE),binary)
LD_IN = binary
endif
ifeq ($(IMAGE),ecoff)
LD_IN = ecoff
endif
BFD_NAME = elf32-tradlittlemips
BFD_ARCH = mips
TARGET = mipsel-linux-gnu
TOOLCHAIN_DIR = $(CROSS_PREFIX)/mipsel/bin
 
ifeq ($(MACHINE),lgxemul)
BFD_NAME = elf32-tradlittlemips
BFD = ecoff-littlemips
endif
ifeq ($(MACHINE),bgxemul)
BFD_NAME = elf32-tradbigmips
BFD = ecoff-bigmips
TOOLCHAIN_DIR = $(CROSS_PREFIX)/mips/bin
TARGET = mips-linux-gnu
endif
ifeq ($(MACHINE),msim)
BFD_NAME = elf32-tradlittlemips
BFD = binary
endif
 
ifeq ($(COMPILER),gcc_native)
CC = gcc
AS = as
71,14 → 63,21
OBJDUMP = $(TOOLCHAIN_DIR)/$(TARGET)-objdump
endif
 
CFLAGS = -DRELEASE=$(RELEASE) -I. -I../../../generic -imacros ../../../../config.h -nostdinc -nostdlib -fno-builtin -Werror-implicit-function-declaration -Wmissing-prototypes -Werror -O3 -mno-abicalls -G 0 -fno-zero-initialized-in-bss -mhard-float -mips3 -pipe
CFLAGS = -DRELEASE=\"$(RELEASE)\" -I. -I../../../generic -nostdinc -nostdlib -fno-builtin -Werror-implicit-function-declaration -Wmissing-prototypes -Werror -O3 -mno-abicalls -G 0 -fno-zero-initialized-in-bss -mhard-float -mips3
 
ifdef REVISION
CFLAGS += "-DREVISION=\"$(REVISION)\""
endif
 
ifdef TIMESTAMP
CFLAGS += "-DTIMESTAMP=\"$(TIMESTAMP)\""
endif
 
SOURCES = \
main.c \
msim.c \
_components.c \
../../../generic/printf.c \
../../../generic/string.c \
asm.S \
boot.S
 
89,7 → 88,7
$(USPACEDIR)/app/init/init \
$(USPACEDIR)/srv/devmap/devmap \
$(USPACEDIR)/srv/rd/rd \
$(USPACEDIR)/srv/vfs/vfs
$(USPACEDIR)/srv/vfs/vfs
ifeq ($(RDFMT),tmpfs)
COMPONENTS += $(USPACEDIR)/srv/fs/tmpfs/tmpfs
endif
97,20 → 96,18
COMPONENTS += $(USPACEDIR)/srv/fs/fat/fat
endif
 
RD_SRVS = \
RD_TASKS = \
$(USPACEDIR)/srv/fb/fb \
$(USPACEDIR)/srv/kbd/kbd \
$(USPACEDIR)/srv/console/console \
$(USPACEDIR)/srv/fs/tmpfs/tmpfs \
$(USPACEDIR)/srv/fs/fat/fat
 
RD_APPS = \
$(USPACEDIR)/srv/fs/fat/fat \
$(USPACEDIR)/app/tetris/tetris \
$(USPACEDIR)/app/tester/tester \
$(USPACEDIR)/app/trace/trace \
$(USPACEDIR)/app/bdsh/bdsh \
$(USPACEDIR)/app/klog/klog
 
 
OBJECTS := $(addsuffix .o,$(basename $(SOURCES)))
COMPONENT_OBJECTS := $(addsuffix .o,$(basename $(notdir $(COMPONENTS))))
 
120,41 → 117,35
 
-include Makefile.depend
 
image.boot: image.raw
$(OBJCOPY) -O $(BFD) $< $@
image.boot: depend _components.h _link.ld $(COMPONENT_OBJECTS) initrd.o $(OBJECTS)
$(LD) -no-check-sections -N -T _link.ld $(COMPONENT_OBJECTS) initrd.o $(OBJECTS) -o $@
 
image.raw: depend _components.h _link.ld $(COMPONENT_OBJECTS) initrd.o $(OBJECTS)
$(LD) -no-check-sections -N -T _link.ld -o $@ $(COMPONENT_OBJECTS) initrd.o $(OBJECTS)
 
depend:
-makedepend -f - -- $(DEFS) $(CFLAGS) -- $(SOURCES) > Makefile.depend 2> /dev/null
-makedepend $(DEFS) $(CFLAGS) -f - $(SOURCES) > Makefile.depend 2> /dev/null
 
clean:
-for file in $(RD_SRVS) ; do \
rm -f $(USPACEDIR)/dist/srv/`basename $$file` ; \
-for task in $(RD_TASKS) ; do \
rm -f $(USPACEDIR)/dist/sbin/`basename $$task` ; \
done
-for file in $(RD_APPS) ; do \
rm -f $(USPACEDIR)/dist/app/`basename $$file` ; \
done
-rm -f _components.h _components.c _link.ld $(COMPONENT_OBJECTS) initrd.o $(OBJECTS) initrd.img image.raw image.boot Makefile.depend
-rm -f _components.h _components.c _link.ld _link.ld.in $(COMPONENT_OBJECTS) initrd.o $(OBJECTS) initrd.img image.boot Makefile.depend
 
_components.h _components.c _link.ld $(COMPONENT_OBJECTS) initrd.o: $(COMPONENTS) $(RD_SRVS) $(RD_APPS) _link.ld.in
for file in $(RD_SRVS) ; do \
cp $$file $(USPACEDIR)/dist/srv/ ; \
_components.h _components.c _link.ld $(COMPONENT_OBJECTS) initrd.o: $(COMPONENTS) _link.ld.in
for task in $(RD_TASKS) ; do \
cp $$task $(USPACEDIR)/dist/sbin/ ; \
done
for file in $(RD_APPS) ; do \
cp $$file $(USPACEDIR)/dist/app/ ; \
done
ifeq ($(RDFMT),tmpfs)
../../../../tools/mktmpfs.py $(USPACEDIR)/dist/ initrd.fs
endif
ifeq ($(RDFMT),fat)
../../../../tools/mkfat.py $(USPACEDIR)/dist/ initrd.fs
../../../../tools/mkfat.sh $(USPACEDIR)/dist/ initrd.fs
endif
../../../../tools/mkhord.py 16384 initrd.fs initrd.img
rm initrd.fs
../../../tools/pack.py $(OBJCOPY) $(BFD_NAME) $(BFD_ARCH) 16384 "unsigned int" $(COMPONENTS) ./initrd.img
 
_link.ld.in: _link.ld.in.$(LD_IN)
cp $< $@
 
%.o: %.S
$(CC) $(DEFS) $(CFLAGS) -D__ASM__ -c $< -o $@
 
/branches/network/boot/arch/mips32/loader/_link.ld.in.ecoff
0,0 → 1,21
OUTPUT_FORMAT("ecoff-littlemips")
ENTRY(start)
SECTIONS {
.boot 0xbfc00000: AT (0) {
*(BOOTSTRAP);
*(.text);
*(.rodata);
*(.rodata.*);
*(.data); /* initialized data */
*(.sdata);
*(.sdata2);
*(.sbss);
*(.scommon);
*(.bss); /* uninitialized static variables */
*(COMMON); /* global variables */
*(.reginfo);
[[COMPONENTS]]
}
}
/branches/network/boot/arch/mips32/loader/_link.ld.in.binary
0,0 → 1,21
OUTPUT_FORMAT("binary")
ENTRY(start)
SECTIONS {
.boot 0xbfc00000: AT (0) {
*(BOOTSTRAP);
*(.text);
*(.rodata);
*(.rodata.*);
*(.data); /* initialized data */
*(.sdata);
*(.sdata2);
*(.sbss);
*(.scommon);
*(.bss); /* uninitialized static variables */
*(COMMON); /* global variables */
*(.reginfo);
[[COMPONENTS]]
}
}
/branches/network/boot/arch/mips32/loader/main.c
28,9 → 28,6
 
#include "main.h"
#include <printf.h>
#include <align.h>
#include <macros.h>
#include <string.h>
#include "msim.h"
#include "asm.h"
#include "_components.h"
37,16 → 34,16
 
#define KERNEL_VIRTUAL_ADDRESS 0x80100000
 
char *release = STRING(RELEASE);
char *release = RELEASE;
 
#ifdef REVISION
char *revision = ", revision " STRING(REVISION);
char *revision = ", revision " REVISION;
#else
char *revision = "";
#endif
 
#ifdef TIMESTAMP
char *timestamp = "\nBuilt on " STRING(TIMESTAMP);
char *timestamp = "\nBuilt on " TIMESTAMP;
#else
char *timestamp = "";
#endif
75,10 → 72,9
printf(" %L: %s image (size %d bytes)\n", components[i].start, components[i].name, components[i].size);
printf("\nCopying components\n");
unsigned int top = 0;
bootinfo.cnt = 0;
for (i = 0; i < min(COMPONENTS, TASKMAP_MAX_RECORDS); i++) {
for (i = 0; i < COMPONENTS; i++) {
printf(" %s...", components[i].name);
top = ALIGN_UP(top, PAGE_SIZE);
memcpy(((void *) KERNEL_VIRTUAL_ADDRESS) + top, components[i].start, components[i].size);
85,8 → 81,6
if (i > 0) {
bootinfo.tasks[bootinfo.cnt].addr = ((void *) KERNEL_VIRTUAL_ADDRESS) + top;
bootinfo.tasks[bootinfo.cnt].size = components[i].size;
strncpy(bootinfo.tasks[bootinfo.cnt].name,
components[i].name, BOOTINFO_TASK_NAME_BUFLEN);
bootinfo.cnt++;
}
top += components[i].size;
93,13 → 87,6
printf("done.\n");
}
unsigned int *cpumap = (unsigned int *) CPUMAP;
bootinfo.cpumap = 0;
for (i = 0; i < CPUMAP_MAX_RECORDS; i++) {
if (cpumap[i] != 0)
bootinfo.cpumap |= (1 << i);
}
printf("\nBooting the kernel...\n");
jump_to_kernel((void *) KERNEL_VIRTUAL_ADDRESS, &bootinfo);
jump_to_kernel((void *) KERNEL_VIRTUAL_ADDRESS, &bootinfo, sizeof(bootinfo));
}
/branches/network/boot/arch/mips32/loader/asm.h
29,11 → 29,11
#ifndef BOOT_mips32_ASM_H_
#define BOOT_mips32_ASM_H_
 
#define PAGE_SIZE 16384
#define PAGE_WIDTH 14
#define PAGE_SIZE 16384
#define PAGE_WIDTH 14
 
#define memcpy(dst, src, cnt) __builtin_memcpy((dst), (src), (cnt))
#define memcpy(dst, src, cnt) __builtin_memcpy((dst), (src), (cnt))
 
void jump_to_kernel(void *entry, void *bootinfo) __attribute__((noreturn));
void jump_to_kernel(void *entry, void *bootinfo, unsigned int bootinfo_size) __attribute__((noreturn));
 
#endif
/branches/network/boot/arch/mips32/loader/main.h
29,30 → 29,21
#ifndef BOOT_mips32_MAIN_H_
#define BOOT_mips32_MAIN_H_
 
#define CPUMAP 0x80001000
#define INITIAL_STACK 0x80002000
#define MSIM_DORDER_ADDRESS 0xb0000004
/** Align to the nearest higher address.
*
* @param addr Address or size to be aligned.
* @param align Size of alignment, must be power of 2.
*/
#define ALIGN_UP(addr, align) (((addr) + ((align) - 1)) & ~((align) - 1))
 
#define TASKMAP_MAX_RECORDS 32
#define CPUMAP_MAX_RECORDS 32
#define TASKMAP_MAX_RECORDS 32
 
#ifndef __ASM__
 
/** Size of buffer for storing task name in task_t. */
#define BOOTINFO_TASK_NAME_BUFLEN 32
 
/** Struct holding information about single loaded task. */
typedef struct {
/** Address where the task was placed. */
void *addr;
/** Size of the task's binary. */
unsigned int size;
/** Task name. */
char name[BOOTINFO_TASK_NAME_BUFLEN];
} task_t;
 
typedef struct {
unsigned int cpumap;
unsigned int cnt;
task_t tasks[TASKMAP_MAX_RECORDS];
} bootinfo_t;
61,5 → 52,3
extern void bootstrap(void);
 
#endif
 
#endif
/branches/network/boot/arch/mips32/loader/boot.S
27,8 → 27,9
#
 
#include "regname.h"
#include "main.h"
 
#define INITIAL_STACK 0x80040000
 
.set noat
.set noreorder
.set nomacro
37,82 → 38,8
 
.global start
start:
lui $sp, INITIAL_STACK >> 16
ori $sp, $sp, INITIAL_STACK & 0xffff
/* Setup CPU map (on msim this code
is executed in parallel on all CPUs,
but it not an issue) */
la $a0, CPUMAP
sw $zero, 0($a0)
sw $zero, 4($a0)
sw $zero, 8($a0)
sw $zero, 12($a0)
sw $zero, 16($a0)
sw $zero, 20($a0)
sw $zero, 24($a0)
sw $zero, 28($a0)
sw $zero, 32($a0)
sw $zero, 36($a0)
sw $zero, 40($a0)
sw $zero, 44($a0)
sw $zero, 48($a0)
sw $zero, 52($a0)
sw $zero, 56($a0)
sw $zero, 60($a0)
sw $zero, 64($a0)
sw $zero, 68($a0)
sw $zero, 72($a0)
sw $zero, 76($a0)
sw $zero, 80($a0)
sw $zero, 84($a0)
sw $zero, 88($a0)
sw $zero, 92($a0)
sw $zero, 96($a0)
sw $zero, 100($a0)
sw $zero, 104($a0)
sw $zero, 108($a0)
sw $zero, 112($a0)
sw $zero, 116($a0)
sw $zero, 120($a0)
sw $zero, 124($a0)
lui $a1, 1
#ifdef MACHINE_msim
/* Read dorder value */
la $k0, MSIM_DORDER_ADDRESS
lw $k1, ($k0)
/* If we are not running on BSP
then end in an infinite loop */
beq $k1, $zero, bsp
j bootstrap
nop
/* Record CPU presence */
sll $a2, $k1, 2
addu $a2, $a2, $a0
sw $a1, ($a2)
loop:
j loop
nop
#endif
bsp:
/* Record CPU presence */
sw $a1, ($a0)
/* Setup initial stack */
la $sp, INITIAL_STACK
j bootstrap
nop
/branches/network/boot/arch/mips32/Makefile.inc
28,15 → 28,15
 
build: $(BASE)/image.boot
 
$(BASE)/image.boot: depend arch/$(BARCH)/loader/image.boot
cp arch/$(BARCH)/loader/image.boot $(BASE)/image.boot
$(BASE)/image.boot: depend arch/$(ARCH)/loader/image.boot
cp arch/$(ARCH)/loader/image.boot $(BASE)/image.boot
 
depend:
-rm arch/$(BARCH)/loader/image.boot
-rm arch/$(ARCH)/loader/image.boot
 
arch/$(BARCH)/loader/image.boot:
make -C arch/$(BARCH)/loader COMPILER=$(COMPILER) KERNELDIR=../../../$(KERNELDIR) USPACEDIR=../../../$(USPACEDIR)
arch/$(ARCH)/loader/image.boot:
make -C arch/$(ARCH)/loader COMPILER=$(COMPILER) KERNELDIR=../../../$(KERNELDIR) USPACEDIR=../../../$(USPACEDIR) IMAGE=$(IMAGE)
 
clean:
make -C arch/$(BARCH)/loader clean COMPILER=$(COMPILER) KERNELDIR=../../../$(KERNELDIR) USPACEDIR=../../../$(USPACEDIR)
make -C arch/$(ARCH)/loader clean COMPILER=$(COMPILER) KERNELDIR=../../../$(KERNELDIR) USPACEDIR=../../../$(USPACEDIR) IMAGE=$(IMAGE)
-rm -f $(BASE)/image.boot
/branches/network/boot/arch/sparc64/loader/Makefile
27,7 → 27,7
#
 
include ../../../../version
-include ../../../../Makefile.config
include ../../../Makefile.config
 
## Toolchain configuration
#
57,8 → 57,16
OBJDUMP = $(TOOLCHAIN_DIR)/$(TARGET)-objdump
endif
 
CFLAGS = -DRELEASE=$(RELEASE) -I. -I../../../generic -I../../../genarch -imacros ../../../../config.h -nostdinc -nostdlib -fno-builtin -Werror-implicit-function-declaration -Wmissing-prototypes -Werror -O3 -mcpu=ultrasparc -m64 -mno-fpu -pipe
CFLAGS = -DRELEASE=\"$(RELEASE)\" -I. -I../../../generic -I../../../genarch -nostdinc -nostdlib -fno-builtin -Werror-implicit-function-declaration -Wmissing-prototypes -Werror -O3 -mcpu=ultrasparc -m64
 
ifdef REVISION
CFLAGS += "-DREVISION=\"$(REVISION)\""
endif
 
ifdef TIMESTAMP
CFLAGS += "-DTIMESTAMP=\"$(TIMESTAMP)\""
endif
 
SOURCES = \
main.c \
_components.c \
71,9 → 79,6
asm.S \
boot.S
 
#
# All components that go to image.boot without the ramdisk.
#
COMPONENTS = \
$(KERNELDIR)/kernel.bin \
$(USPACEDIR)/srv/ns/ns \
89,40 → 94,19
COMPONENTS += $(USPACEDIR)/srv/fs/fat/fat
endif
 
#
# Final list of all components that go to image.boot.
#
ALL_COMPONENTS = $(COMPONENTS)
ifeq ($(CONFIG_RD_EXTERNAL),n)
ALL_COMPONENTS += ./initrd.img
endif
 
RD_SRVS = \
RD_TASKS = \
$(USPACEDIR)/srv/fb/fb \
$(USPACEDIR)/srv/kbd/kbd \
$(USPACEDIR)/srv/console/console \
$(USPACEDIR)/srv/fs/tmpfs/tmpfs
 
ifeq ($(MACHINE),generic)
RD_SRVS += \
$(USPACEDIR)/srv/fs/tmpfs/tmpfs \
$(USPACEDIR)/srv/fs/fat/fat \
$(USPACEDIR)/srv/fhc/fhc \
$(USPACEDIR)/srv/obio/obio
endif
 
RD_APPS = \
$(USPACEDIR)/app/tetris/tetris \
$(USPACEDIR)/app/trace/trace \
$(USPACEDIR)/app/tester/tester \
$(USPACEDIR)/app/bdsh/bdsh \
$(USPACEDIR)/app/klog/klog
 
ifeq ($(MACHINE),generic)
RD_APPS += \
$(USPACEDIR)/app/tester/tester
endif
 
OBJECTS := $(addsuffix .o,$(basename $(SOURCES)))
ALL_COMPONENT_OBJECTS := $(addsuffix .o,$(basename $(notdir $(ALL_COMPONENTS))))
COMPONENT_OBJECTS := $(addsuffix .o,$(basename $(notdir $(COMPONENTS))))
 
.PHONY: all clean depend
 
130,37 → 114,31
 
-include Makefile.depend
 
image.boot: depend _components.h _link.ld $(ALL_COMPONENT_OBJECTS) $(OBJECTS)
$(LD) -Map image.map -no-check-sections -N -T _link.ld $(ALL_COMPONENT_OBJECTS) $(OBJECTS) -o $@
image.boot: depend _components.h _link.ld $(COMPONENT_OBJECTS) initrd.o $(OBJECTS)
$(LD) -Map image.map -no-check-sections -N -T _link.ld $(COMPONENT_OBJECTS) initrd.o $(OBJECTS) -o $@
 
depend:
-makedepend -f - -- $(DEFS) $(CFLAGS) -- $(SOURCES) > Makefile.depend 2> /dev/null
-makedepend $(DEFS) $(CFLAGS) -f - $(SOURCES) > Makefile.depend 2> /dev/null
 
clean:
-for file in $(RD_SRVS) ; do \
rm -f $(USPACEDIR)/dist/srv/`basename $$file` ; \
-for task in $(RD_TASKS) ; do \
rm -f $(USPACEDIR)/dist/sbin/`basename $$task` ; \
done
-for file in $(RD_APPS) ; do \
rm -f $(USPACEDIR)/dist/app/`basename $$file` ; \
done
-rm -f _components.h _components.c _link.ld $(ALL_COMPONENT_OBJECTS) $(OBJECTS) initrd.img image.boot image.map image.disasm Makefile.depend
-rm -f _components.h _components.c _link.ld $(COMPONENT_OBJECTS) initrd.o $(OBJECTS) initrd.img image.boot image.map image.disasm Makefile.depend
 
_components.h _components.c _link.ld $(ALL_COMPONENT_OBJECTS): $(COMPONENTS) $(RD_SRVS) $(RD_APPS) _link.ld.in
for file in $(RD_SRVS) ; do \
cp $$file $(USPACEDIR)/dist/srv/ ; \
_components.h _components.c _link.ld $(COMPONENT_OBJECTS) initrd.o: $(COMPONENTS) $(RD_TASKS) _link.ld.in
for task in $(RD_TASKS) ; do \
cp $$task $(USPACEDIR)/dist/sbin/ ; \
done
for file in $(RD_APPS) ; do \
cp $$file $(USPACEDIR)/dist/app/ ; \
done
ifeq ($(RDFMT),tmpfs)
../../../../tools/mktmpfs.py $(USPACEDIR)/dist/ initrd.fs
endif
ifeq ($(RDFMT),fat)
../../../../tools/mkfat.py $(USPACEDIR)/dist/ initrd.fs
../../../../tools/mkfat.sh $(USPACEDIR)/dist/ initrd.fs
endif
../../../../tools/mkhord.py 16384 initrd.fs initrd.img
rm initrd.fs
../../../tools/pack.py $(OBJCOPY) $(BFD_NAME) $(BFD_ARCH) 1 "unsigned long" $(ALL_COMPONENTS)
../../../tools/pack.py $(OBJCOPY) $(BFD_NAME) $(BFD_ARCH) 1 "unsigned long" $(COMPONENTS) ./initrd.img
 
%.o: %.S
$(CC) $(DEFS) $(CFLAGS) -D__ASM__ -c $< -o $@
/branches/network/boot/arch/sparc64/loader/asm.S
105,28 → 105,9
* 1. Make sure that the code we have moved has drained to main memory.
* 2. Invalidate I-cache.
* 3. Flush instruction pipeline.
*/
 
/*
* US3 processors have a write-invalidate cache, so explicitly
* invalidating it is not required. Whether to invalidate I-cache
* or not is decided according to the value of the global
* "subarchitecture" variable (set in the bootstrap).
*/
set subarchitecture, %g2
ldub [%g2], %g2
cmp %g2, 3
be 1f
nop
0:
call icache_flush
nop
1:
membar #StoreStore
/*
* Flush the instruction pipeline.
*/
*/
call icache_flush
membar #StoreStore
flush %i7
 
mov %o0, %l1
153,6 → 134,7
retl
! SF Erratum #51
nop
 
.global ofw
ofw:
save %sp, -STACK_WINDOW_SAVE_AREA_SIZE, %sp
/branches/network/boot/arch/sparc64/loader/ofwarch.c
32,7 → 32,7
* @brief Architecture dependent parts of OpenFirmware interface.
*/
 
#include <ofwarch.h>
#include <ofwarch.h>
#include <ofw.h>
#include <printf.h>
#include <string.h>
40,10 → 40,6
#include "main.h"
#include "asm.h"
 
/* these tho variables will be set by the detect_subarchitecture function */
extern uint8_t subarchitecture;
extern uint16_t mid_mask;
 
void write(const char *str, const int len)
{
int i;
60,40 → 56,36
return flag != -1;
}
 
/**
* Starts all CPUs represented by following siblings of the given node,
* except for the current CPU.
*
* @param child The first child of the OFW tree node whose children
* represent CPUs to be woken up.
* @param current_mid MID of the current CPU, the current CPU will
* (of course) not be woken up.
* @return Number of CPUs which have the same parent node as
* "child".
*/
static int wake_cpus_in_node(phandle child, uint64_t current_mid)
int ofw_cpu(void)
{
int cpus;
char type_name[BUF_SIZE];
 
phandle node;
node = ofw_get_child_node(ofw_root);
if (node == 0 || node == -1) {
printf("Could not find any child nodes of the root node.\n");
return 0;
}
for (cpus = 0; child != 0 && child != -1;
child = ofw_get_peer_node(child), cpus++) {
if (ofw_get_property(child, "device_type", type_name,
uint64_t current_mid;
asm volatile ("ldxa [%1] %2, %0\n"
: "=r" (current_mid)
: "r" (0), "i" (ASI_UPA_CONFIG));
current_mid >>= UPA_CONFIG_MID_SHIFT;
current_mid &= UPA_CONFIG_MID_MASK;
 
int cpus;
for (cpus = 0; node != 0 && node != -1; node = ofw_get_peer_node(node),
cpus++) {
if (ofw_get_property(node, "device_type", type_name,
sizeof(type_name)) > 0) {
if (strcmp(type_name, "cpu") == 0) {
uint32_t mid;
/*
* "upa-portid" for US, "portid" for US-III,
* "cpuid" for US-IV
*/
if (ofw_get_property(
child, "upa-portid",
&mid, sizeof(mid)) <= 0
&& ofw_get_property(child, "portid",
&mid, sizeof(mid)) <= 0
&& ofw_get_property(child, "cpuid",
&mid, sizeof(mid)) <= 0)
if (ofw_get_property(node, "upa-portid", &mid,
sizeof(mid)) <= 0)
continue;
if (current_mid != mid) {
101,7 → 93,7
* Start secondary processor.
*/
(void) ofw_call("SUNW,start-cpu", 3, 1,
NULL, child, KERNEL_VIRTUAL_ADDRESS,
NULL, node, KERNEL_VIRTUAL_ADDRESS,
bootinfo.physmem_start |
AP_PROCESSOR);
}
112,59 → 104,12
return cpus;
}
 
/**
* Finds out the current CPU's MID and wakes up all AP processors.
*/
int ofw_cpu(void)
{
int cpus;
phandle node;
phandle subnode;
phandle cpus_parent;
phandle cmp;
char name[BUF_SIZE];
 
/* get the current CPU MID */
uint64_t current_mid;
asm volatile ("ldxa [%1] %2, %0\n"
: "=r" (current_mid)
: "r" (0), "i" (ASI_ICBUS_CONFIG));
current_mid >>= ICBUS_CONFIG_MID_SHIFT;
 
current_mid &= mid_mask;
 
/* wake up CPUs */
cpus_parent = ofw_find_device("/ssm@0,0");
if (cpus_parent == 0 || cpus_parent == -1) {
cpus_parent = ofw_find_device("/");
}
 
node = ofw_get_child_node(cpus_parent);
cpus = wake_cpus_in_node(node, current_mid);
while (node != 0 && node != -1) {
if (ofw_get_property(node, "name", name,
sizeof(name)) > 0) {
if (strcmp(name, "cmp") == 0) {
subnode = ofw_get_child_node(node);
cpus += wake_cpus_in_node(subnode,
current_mid);
}
}
node = ofw_get_peer_node(node);
}
return cpus;
}
 
/** Get physical memory starting address.
*
* @param start Pointer to variable where the physical memory starting
* address will be stored.
* @param start Pointer to variable where the physical memory starting
* address will be stored.
*
* @return Non-zero on succes, zero on failure.
* @return Non-zero on succes, zero on failure.
*/
int ofw_get_physmem_start(uintptr_t *start)
{
/branches/network/boot/arch/sparc64/loader/main.c
36,87 → 36,34
#include <ofw_tree.h>
#include "ofwarch.h"
#include <align.h>
#include <macros.h>
#include <string.h>
 
bootinfo_t bootinfo;
 
component_t components[COMPONENTS];
 
char *release = STRING(RELEASE);
char *release = RELEASE;
 
#ifdef REVISION
char *revision = ", revision " STRING(REVISION);
char *revision = ", revision " REVISION;
#else
char *revision = "";
#endif
 
#ifdef TIMESTAMP
char *timestamp = "\nBuilt on " STRING(TIMESTAMP);
char *timestamp = "\nBuilt on " TIMESTAMP;
#else
char *timestamp = "";
#endif
 
/** UltraSPARC subarchitecture - 1 for US, 3 for US3 */
uint8_t subarchitecture;
 
/**
* mask of the MID field inside the ICBUS_CONFIG register shifted by
* MID_SHIFT bits to the right
*/
uint16_t mid_mask;
 
/** Print version information. */
static void version_print(void)
{
printf("HelenOS SPARC64 Bootloader\nRelease %s%s%s\n"
"Copyright (c) 2006 HelenOS project\n",
release, revision, timestamp);
printf("HelenOS SPARC64 Bootloader\nRelease %s%s%s\nCopyright (c) 2006 HelenOS project\n", release, revision, timestamp);
}
 
/* the lowest ID (read from the VER register) of some US3 CPU model */
#define FIRST_US3_CPU 0x14
 
/* the greatest ID (read from the VER register) of some US3 CPU model */
#define LAST_US3_CPU 0x19
 
/* UltraSPARC IIIi processor implementation code */
#define US_IIIi_CODE 0x15
 
/**
* Sets the global variables "subarchitecture" and "mid_mask" to
* correct values.
*/
static void detect_subarchitecture(void)
{
uint64_t v;
asm volatile ("rdpr %%ver, %0\n" : "=r" (v));
v = (v << 16) >> 48;
if ((v >= FIRST_US3_CPU) && (v <= LAST_US3_CPU)) {
subarchitecture = SUBARCH_US3;
if (v == US_IIIi_CODE)
mid_mask = (1 << 5) - 1;
else
mid_mask = (1 << 10) - 1;
} else if (v < FIRST_US3_CPU) {
subarchitecture = SUBARCH_US;
mid_mask = (1 << 5) - 1;
} else {
printf("\nThis CPU is not supported by HelenOS.");
}
}
 
void bootstrap(void)
{
void *base = (void *) KERNEL_VIRTUAL_ADDRESS;
void *balloc_base;
unsigned int top = 0;
int i, j;
 
version_print();
detect_subarchitecture();
init_components(components);
 
if (!ofw_get_physmem_start(&bootinfo.physmem_start)) {
128,103 → 75,34
printf("Error: unable to get memory map, halting.\n");
halt();
}
 
if (bootinfo.memmap.total == 0) {
printf("Error: no memory detected, halting.\n");
halt();
}
 
/*
* SILO for some reason adds 0x400000 and subtracts
* bootinfo.physmem_start to/from silo_ramdisk_image.
* We just need plain physical address so we fix it up.
*/
if (silo_ramdisk_image) {
silo_ramdisk_image += bootinfo.physmem_start;
silo_ramdisk_image -= 0x400000;
/* Install 1:1 mapping for the ramdisk. */
if (ofw_map((void *)((uintptr_t) silo_ramdisk_image),
(void *)((uintptr_t) silo_ramdisk_image),
silo_ramdisk_size, -1) != 0) {
printf("Failed to map ramdisk.\n");
halt();
}
}
printf("\nSystem info\n");
printf(" memory: %dM starting at %P\n",
bootinfo.memmap.total >> 20, bootinfo.physmem_start);
bootinfo.memmap.total >> 20, bootinfo.physmem_start);
 
printf("\nMemory statistics\n");
printf(" kernel entry point at %P\n", KERNEL_VIRTUAL_ADDRESS);
printf(" %P: boot info structure\n", &bootinfo);
/*
* Figure out destination address for each component.
* In this phase, we don't copy the components yet because we want to
* to be careful not to overwrite anything, especially the components
* which haven't been copied yet.
*/
bootinfo.taskmap.count = 0;
for (i = 0; i < COMPONENTS; i++) {
unsigned int i;
for (i = 0; i < COMPONENTS; i++)
printf(" %P: %s image (size %d bytes)\n", components[i].start,
components[i].name, components[i].size);
top = ALIGN_UP(top, PAGE_SIZE);
if (i > 0) {
if (bootinfo.taskmap.count == TASKMAP_MAX_RECORDS) {
printf("Skipping superfluous components.\n");
break;
}
bootinfo.taskmap.tasks[bootinfo.taskmap.count].addr =
base + top;
bootinfo.taskmap.tasks[bootinfo.taskmap.count].size =
components[i].size;
strncpy(bootinfo.taskmap.tasks[
bootinfo.taskmap.count].name, components[i].name,
BOOTINFO_TASK_NAME_BUFLEN);
bootinfo.taskmap.count++;
}
top += components[i].size;
}
 
j = bootinfo.taskmap.count - 1; /* do not consider ramdisk */
void * base = (void *) KERNEL_VIRTUAL_ADDRESS;
unsigned int top = 0;
 
if (silo_ramdisk_image) {
/* Treat the ramdisk as the last bootinfo task. */
if (bootinfo.taskmap.count == TASKMAP_MAX_RECORDS) {
printf("Skipping ramdisk.\n");
goto skip_ramdisk;
}
printf("\nCopying components\n");
bootinfo.taskmap.count = 0;
for (i = 0; i < COMPONENTS; i++) {
printf(" %s...", components[i].name);
top = ALIGN_UP(top, PAGE_SIZE);
bootinfo.taskmap.tasks[bootinfo.taskmap.count].addr =
base + top;
bootinfo.taskmap.tasks[bootinfo.taskmap.count].size =
silo_ramdisk_size;
bootinfo.taskmap.count++;
printf("\nCopying ramdisk...");
/*
* Claim and map the whole ramdisk as it may exceed the area
* given to us by SILO.
*/
(void) ofw_claim_phys(base + top, silo_ramdisk_size);
(void) ofw_map(bootinfo.physmem_start + base + top, base + top,
silo_ramdisk_size, -1);
memmove(base + top, (void *)((uintptr_t)silo_ramdisk_image),
silo_ramdisk_size);
printf("done.\n");
top += silo_ramdisk_size;
}
skip_ramdisk:
 
/*
* Now we can proceed to copy the components. We do it in reverse order
* so that we don't overwrite anything even if the components overlap
* with base.
*/
printf("\nCopying bootinfo tasks\n");
for (i = COMPONENTS - 1; i > 0; i--, j--) {
printf(" %s...", components[i].name);
 
/*
* At this point, we claim the physical memory that we are
* going to use. We should be safe in case of the virtual
232,41 → 110,36
* SPARC binding, should restrict its use of virtual memory
* to addresses from [0xffd00000; 0xffefffff] and
* [0xfe000000; 0xfeffffff].
*
* XXX We don't map this piece of memory. We simply rely on
* SILO to have it done for us already in this case.
*/
(void) ofw_claim_phys(bootinfo.physmem_start +
bootinfo.taskmap.tasks[j].addr,
(void) ofw_claim_phys(bootinfo.physmem_start + base + top,
ALIGN_UP(components[i].size, PAGE_SIZE));
memcpy((void *)bootinfo.taskmap.tasks[j].addr,
components[i].start, components[i].size);
memcpy(base + top, components[i].start, components[i].size);
if (i > 0) {
bootinfo.taskmap.tasks[bootinfo.taskmap.count].addr =
base + top;
bootinfo.taskmap.tasks[bootinfo.taskmap.count].size =
components[i].size;
bootinfo.taskmap.count++;
}
top += components[i].size;
printf("done.\n");
}
 
printf("\nCopying kernel...");
(void) ofw_claim_phys(bootinfo.physmem_start + base,
ALIGN_UP(components[0].size, PAGE_SIZE));
memcpy(base, components[0].start, components[0].size);
printf("done.\n");
 
/*
* Claim and map the physical memory for the boot allocator.
* Claim the physical memory for the boot allocator.
* Initialize the boot allocator.
*/
balloc_base = base + ALIGN_UP(top, PAGE_SIZE);
(void) ofw_claim_phys(bootinfo.physmem_start + balloc_base,
BALLOC_MAX_SIZE);
(void) ofw_map(bootinfo.physmem_start + balloc_base, balloc_base,
BALLOC_MAX_SIZE, -1);
balloc_init(&bootinfo.ballocs, (uintptr_t)balloc_base);
(void) ofw_claim_phys(bootinfo.physmem_start +
base + ALIGN_UP(top, PAGE_SIZE), BALLOC_MAX_SIZE);
balloc_init(&bootinfo.ballocs, ALIGN_UP(((uintptr_t) base) + top,
PAGE_SIZE));
 
printf("\nCanonizing OpenFirmware device tree...");
bootinfo.ofw_root = ofw_tree_build();
printf("done.\n");
 
#ifdef CONFIG_AP
#ifdef CONFIG_SMP
printf("\nChecking for secondary processors...");
if (!ofw_cpu())
printf("Error: unable to get CPU properties\n");
273,10 → 146,9
printf("done.\n");
#endif
 
ofw_setup_palette();
 
printf("\nBooting the kernel...\n");
jump_to_kernel((void *) KERNEL_VIRTUAL_ADDRESS,
bootinfo.physmem_start | BSP_PROCESSOR, &bootinfo,
sizeof(bootinfo));
}
 
/branches/network/boot/arch/sparc64/loader/boot.S
53,15 → 53,6
.ascii "HdrS"
.word 0
.half 0
.half 0
.half 0
.half 0
.global silo_ramdisk_image
silo_ramdisk_image:
.word 0
.global silo_ramdisk_size
silo_ramdisk_size:
.word 0
 
.align 8
1:
/branches/network/boot/arch/sparc64/loader/main.h
38,19 → 38,12
 
#define TASKMAP_MAX_RECORDS 32
 
/** Size of buffer for storing task name in task_t. */
#define BOOTINFO_TASK_NAME_BUFLEN 32
 
#define BSP_PROCESSOR 1
#define AP_PROCESSOR 0
 
#define SUBARCH_US 1
#define SUBARCH_US3 3
 
typedef struct {
void *addr;
uint32_t size;
char name[BOOTINFO_TASK_NAME_BUFLEN];
} task_t;
 
typedef struct {
66,9 → 59,6
ofw_tree_node_t *ofw_root;
} bootinfo_t;
 
extern uint32_t silo_ramdisk_image;
extern uint32_t silo_ramdisk_size;
 
extern bootinfo_t bootinfo;
 
extern void start(void);
/branches/network/boot/arch/sparc64/loader/register.h
33,7 → 33,8
#define PSTATE_PRIV_BIT 4
#define PSTATE_AM_BIT 8
 
#define ASI_ICBUS_CONFIG 0x4a
#define ICBUS_CONFIG_MID_SHIFT 17
#define ASI_UPA_CONFIG 0x4a
#define UPA_CONFIG_MID_SHIFT 17
#define UPA_CONFIG_MID_MASK 0x1f
 
#endif
/branches/network/boot/arch/sparc64/Makefile.inc
26,40 → 26,26
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
 
TMP = distroot
TMP=distroot
 
ifeq ($(CONFIG_AOUT_ISOFS_B),y)
SILO_PACKAGE = silo.tar.gz
else
SILO_PACKAGE = silo.patched.tar.gz
endif
 
build: $(BASE)/image.iso
 
$(BASE)/image.iso: depend arch/$(BARCH)/loader/image.boot
$(BASE)/image.iso: depend arch/$(ARCH)/loader/image.boot
mkdir -p $(TMP)/boot
mkdir -p $(TMP)/HelenOS
cat arch/$(BARCH)/silo/$(SILO_PACKAGE) | (cd $(TMP)/boot; tar xvfz -)
cp arch/$(BARCH)/silo/README arch/$(BARCH)/silo/COPYING $(TMP)/boot
ifeq ($(CONFIG_RD_EXTERNAL),y)
cp arch/$(BARCH)/silo/silo.conf $(TMP)/boot/silo.conf
else
cat arch/$(BARCH)/silo/silo.conf | grep -v initrd > $(TMP)/boot/silo.conf
endif
cp arch/$(BARCH)/loader/image.boot $(TMP)/HelenOS/image.boot
cat arch/$(ARCH)/silo/silo.tar.gz | (cd $(TMP)/boot; tar xvfz -)
cp arch/$(ARCH)/silo/README arch/$(ARCH)/silo/COPYING arch/$(ARCH)/silo/silo.conf $(TMP)/boot
cp arch/$(ARCH)/loader/image.boot $(TMP)/HelenOS/image.boot
gzip -f $(TMP)/HelenOS/image.boot
ifeq ($(CONFIG_RD_EXTERNAL),y)
cp arch/$(BARCH)/loader/initrd.img $(TMP)/HelenOS/initrd.img
endif
mkisofs -f -G $(TMP)/boot/isofs.b -B ... -r -o $(BASE)/image.iso $(TMP)/
 
depend:
-rm arch/$(BARCH)/loader/image.boot
-rm arch/$(ARCH)/loader/image.boot
 
arch/$(BARCH)/loader/image.boot:
$(MAKE) -C arch/$(BARCH)/loader COMPILER=$(COMPILER) KERNELDIR=../../../$(KERNELDIR) USPACEDIR=../../../$(USPACEDIR)
arch/$(ARCH)/loader/image.boot:
$(MAKE) -C arch/$(ARCH)/loader COMPILER=$(COMPILER) KERNELDIR=../../../$(KERNELDIR) USPACEDIR=../../../$(USPACEDIR) "DEFS=$(DEFS)"
 
clean: generic_clean
$(MAKE) -C arch/$(BARCH)/loader clean COMPILER=$(COMPILER) KERNELDIR=../../../$(KERNELDIR) USPACEDIR=../../../$(USPACEDIR)
$(MAKE) -C arch/$(ARCH)/loader clean COMPILER=$(COMPILER) KERNELDIR=../../../$(KERNELDIR) USPACEDIR=../../../$(USPACEDIR)
-rm -fr $(TMP)
-rm -f $(BASE)/image.iso
/branches/network/boot/arch/sparc64/silo/silo.patched.tar.gz
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/branches/network/boot/arch/sparc64/silo/silo.conf
1,4 → 1,3
timeout = 0
image = /HelenOS/image.boot.gz
label = HelenOS
initrd = /HelenOS/initrd.img
/branches/network/boot/arch/amd64/Makefile.inc
40,58 → 40,49
INIT_TASKS += $(USPACEDIR)/srv/fs/fat/fat
endif
 
RD_SRVS = \
RD_TASKS = \
$(USPACEDIR)/srv/pci/pci \
$(USPACEDIR)/srv/fb/fb \
$(USPACEDIR)/srv/kbd/kbd \
$(USPACEDIR)/srv/console/console \
$(USPACEDIR)/srv/fs/tmpfs/tmpfs \
$(USPACEDIR)/srv/fs/fat/fat
 
RD_APPS = \
$(USPACEDIR)/app/tetris/tetris \
$(USPACEDIR)/app/tester/tester \
$(USPACEDIR)/app/trace/trace \
$(USPACEDIR)/app/klog/klog \
$(USPACEDIR)/app/bdsh/bdsh
$(USPACEDIR)/app/bdsh/bdsh \
$(USPACEDIR)/srv/fs/tmpfs/tmpfs \
$(USPACEDIR)/srv/fs/fat/fat
 
build: $(BASE)/image.iso
 
$(BASE)/image.iso: arch/$(BARCH)/grub/stage2_eltorito arch/$(BARCH)/grub/menu.lst $(KERNELDIR)/kernel.bin $(INIT_TASKS) $(RD_SRVS) $(RD_APPS)
mkdir -p arch/$(BARCH)/iso/boot/grub
cp arch/$(BARCH)/grub/stage2_eltorito arch/$(BARCH)/iso/boot/grub/
$(BASE)/image.iso: arch/$(ARCH)/grub/stage2_eltorito arch/$(ARCH)/grub/menu.lst $(KERNELDIR)/kernel.bin $(INIT_TASKS) $(RD_TASKS)
mkdir -p arch/$(ARCH)/iso/boot/grub
cp arch/$(ARCH)/grub/stage2_eltorito arch/$(ARCH)/iso/boot/grub/
ifneq ($(RDFMT),tmpfs)
cat arch/$(BARCH)/grub/menu.lst | grep -v "tmpfs" >arch/$(BARCH)/iso/boot/grub/menu.lst
cat arch/$(ARCH)/grub/menu.lst | grep -v "tmpfs" >arch/$(ARCH)/iso/boot/grub/menu.lst
endif
ifneq ($(RDFMT),fat)
cat arch/$(BARCH)/grub/menu.lst | grep -v "fat" >arch/$(BARCH)/iso/boot/grub/menu.lst
cat arch/$(ARCH)/grub/menu.lst | grep -v "fat" >arch/$(ARCH)/iso/boot/grub/menu.lst
endif
cp $(KERNELDIR)/kernel.bin arch/$(BARCH)/iso/boot/
cp $(KERNELDIR)/kernel.bin arch/$(ARCH)/iso/boot/
for task in $(INIT_TASKS) ; do \
cp $$task arch/$(BARCH)/iso/boot/ ; \
cp $$task arch/$(ARCH)/iso/boot/ ; \
done
for file in $(RD_SRVS) ; do \
cp $$file $(USPACEDIR)/dist/srv/ ; \
for task in $(RD_TASKS) ; do \
cp $$task $(USPACEDIR)/dist/sbin/ ; \
done
for file in $(RD_APPS) ; do \
cp $$file $(USPACEDIR)/dist/app/ ; \
done
ifeq ($(RDFMT),tmpfs)
$(BASE)/tools/mktmpfs.py $(USPACEDIR)/dist/ arch/$(BARCH)/iso/boot/initrd.fs
$(BASE)/tools/mktmpfs.py $(USPACEDIR)/dist/ arch/$(ARCH)/iso/boot/initrd.fs
endif
ifeq ($(RDFMT),fat)
$(BASE)/tools/mkfat.py $(USPACEDIR)/dist/ arch/$(BARCH)/iso/boot/initrd.fs
$(BASE)/tools/mkfat.sh $(USPACEDIR)/dist/ arch/$(ARCH)/iso/boot/initrd.fs
endif
$(BASE)/tools/mkhord.py 4096 arch/$(BARCH)/iso/boot/initrd.fs arch/$(BARCH)/iso/boot/initrd.img
rm arch/$(BARCH)/iso/boot/initrd.fs
mkisofs -J -r -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -o $(BASE)/image.iso arch/$(BARCH)/iso/
$(BASE)/tools/mkhord.py 4096 arch/$(ARCH)/iso/boot/initrd.fs arch/$(ARCH)/iso/boot/initrd.img
rm arch/$(ARCH)/iso/boot/initrd.fs
mkisofs -J -r -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -o $(BASE)/image.iso arch/$(ARCH)/iso/
 
clean:
-for file in $(RD_SRVS) ; do \
rm -f $(USPACEDIR)/dist/srv/`basename $$file` ; \
-for task in $(RD_TASKS) ; do \
rm -f $(USPACEDIR)/dist/sbin/`basename $$task` ; \
done
-for file in $(RD_APPS) ; do \
rm -f $(USPACEDIR)/dist/app/`basename $$file` ; \
done
-rm -fr arch/$(BARCH)/iso
-rm -fr arch/$(ARCH)/iso
-rm -f $(BASE)/image.iso
/branches/network/boot/arch/ia32xen/grub/menu.lst
0,0 → 1,20
default 0
timeout 10
 
title=HelenOS/ia32xen
root (cd)
kernel /boot/xen.gz
module /boot/kernel.bin
module /boot/ns
module /boot/init
module /boot/pci
module /boot/fb
module /boot/kbd
module /boot/console
module /boot/vfs
module /boot/tmpfs
module /boot/fat
module /boot/devmap
module /boot/tetris
module /boot/tester
module /boot/klog
/branches/network/boot/arch/ia32xen/grub/menu.debug.lst
0,0 → 1,16
default 0
timeout 10
 
title=HelenOS/ia32xen
root (cd)
kernel /boot/xen.debug.gz noreboot console=com1,vga com1=auto,8n1,0x3f8
module /boot/kernel.bin
module /boot/ns
module /boot/init
module /boot/pci
module /boot/fb
module /boot/kbd
module /boot/console
module /boot/tetris
module /boot/tester
module /boot/klog
/branches/network/boot/arch/ia32xen/grub/xen.gz
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/network/boot/arch/ia32xen/grub/xen.debug.gz
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/network/boot/arch/ia32xen/grub/stage2_eltorito
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/network/boot/arch/ia32xen/grub/COPYING
0,0 → 1,340
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
 
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
 
Preamble
 
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
 
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
 
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
 
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
 
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
 
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
 
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
 
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
 
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
 
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
 
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
 
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
 
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
 
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
 
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
 
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
 
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
 
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
 
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
 
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
 
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
 
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
 
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
 
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
 
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
 
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
 
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
 
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
 
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
 
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
 
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
 
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
 
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
 
NO WARRANTY
 
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
 
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
 
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
 
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
 
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
 
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
 
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
 
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 
 
Also add information on how to contact you by electronic and paper mail.
 
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
 
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
 
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
 
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
 
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
 
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
 
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.
/branches/network/boot/arch/ia32xen/grub/README
0,0 → 1,5
For licensing terms of GRUB boot loader see the file COPYING contained
in this directory. Full version of GRUB, including its source code,
can be downloaded from GRUB's project page:
 
http://www.gnu.org/software/grub/
/branches/network/boot/arch/ia32xen/Makefile.inc
0,0 → 1,64
#
# Copyright (c) 2006 Martin Decky
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# - Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# - Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# - The name of the author may not be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
 
TASKS = \
$(USPACEDIR)/srv/ns/ns \
$(USPACEDIR)/srv/pci/pci \
$(USPACEDIR)/srv/fb/fb \
$(USPACEDIR)/srv/kbd/kbd \
$(USPACEDIR)/srv/console/console \
$(USPACEDIR)/srv/vfs/vfs \
$(USPACEDIR)/srv/fs/tmpfs/tmpfs \
$(USPACEDIR)/srv/fs/fat/fat \
$(USPACEDIR)/srv/devmap/devmap \
$(USPACEDIR)/app/init/init \
$(USPACEDIR)/app/tetris/tetris \
$(USPACEDIR)/app/tester/tester \
$(USPACEDIR)/app/klog/klog
 
build: $(BASE)/image.iso
 
$(BASE)/image.iso: arch/$(ARCH)/grub/stage2_eltorito arch/$(ARCH)/grub/menu.lst arch/$(ARCH)/grub/menu.debug.lst arch/$(ARCH)/grub/xen.gz arch/$(ARCH)/grub/xen.debug.gz $(KERNELDIR)/kernel.bin $(TASKS)
mkdir -p arch/$(ARCH)/iso/boot/grub
cp arch/$(ARCH)/grub/stage2_eltorito arch/$(ARCH)/iso/boot/grub/
ifeq ($(CONFIG_DEBUG),y)
cp arch/$(ARCH)/grub/menu.debug.lst arch/$(ARCH)/iso/boot/grub/menu.lst
cp arch/$(ARCH)/grub/xen.debug.gz arch/$(ARCH)/iso/boot/
else
cp arch/$(ARCH)/grub/menu.lst arch/$(ARCH)/iso/boot/grub/
cp arch/$(ARCH)/grub/xen.gz arch/$(ARCH)/iso/boot/
endif
cp $(KERNELDIR)/kernel.bin arch/$(ARCH)/iso/boot/
for task in $(TASKS) ; do \
cp $$task arch/$(ARCH)/iso/boot/ ; \
done
mkisofs -J -r -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -o $(BASE)/image.iso arch/$(ARCH)/iso/
 
clean:
-rm -fr arch/$(ARCH)/iso
-rm -f $(BASE)/image.iso
/branches/network/boot/boot.config
0,0 → 1,84
#
# Copyright (c) 2006 Ondrej Palkovsky
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# - Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# - Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# - The name of the author may not be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
 
## General configuration directives
 
# Architecture
@ "amd64" AMD64/Intel EM64T
@ "arm32" ARM 32-bit
@ "ia32" Intel IA-32
@ "ia32xen" Intel IA-32 on Xen hypervisor
@ "ia64" Intel IA-64
@ "mips32" MIPS 32-bit
@ "ppc32" PowerPC 32-bit
@ "ppc64" PowerPC 64-bit
@ "sparc64" Sun UltraSPARC
! ARCH (choice)
 
# Compiler
@ "gcc_cross" GCC Cross-compiler
@ "gcc_native" GCC Native
@ "icc_native" ICC Native
@ "suncc_native" Sun Studio C Compiler
! [ARCH=amd64|ARCH=ia32|ARCH=ia32xen] COMPILER (choice)
# Compiler
@ "gcc_cross" GCC Cross-compiler
@ "gcc_native" GCC Native
@ "icc_native" ICC Native
! [ARCH=ia64] COMPILER (choice)
# Compiler
@ "gcc_cross" GCC Cross-compiler
@ "gcc_native" GCC Native
@ "suncc_native" Sun Studio C Compiler
! [ARCH=sparc64] COMPILER (choice)
# Compiler
@ "gcc_cross" GCC Cross-compiler
@ "gcc_native" GCC Native
! [ARCH=arm32|ARCH=mips32|ARCH=ppc32|ARCH=ppc64] COMPILER (choice)
 
# Start AP processors by the loader
! [ARCH=sparc64] CONFIG_SMP (y/n)
 
# Debug bootloader
! [ARCH=ppc32] CONFIG_DEBUG (n/y)
 
# Use Block Address Translation
! [ARCH=ppc32] CONFIG_BAT (y/n)
 
# Target image
@ "binary" Binary image (MSIM)
@ "ecoff" Ecoff image (GXEmul)
! [ARCH=mips32] IMAGE (choice)
 
# Ramdisk format
@ "tmpfs" TMPFS image
@ "fat" FAT16 image
! RDFMT (choice)
/branches/network/boot/tools/ia32/gen_vga323.c
1,36 → 1,8
/*
* Copyright (c) 2008 Martin Decky
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* - Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* - Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* - The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
 
#include <stdio.h>
 
#define RED(i) (((i) >> 5) & ((1 << 3) - 1))
#define GREEN(i) (((i) >> 3) & ((1 << 2) - 1))
#define BLUE(i) ((i) & ((1 << 3) - 1))
#define RED(i) ((i >> 5) & ((1 << 3) - 1))
#define GREEN(i) ((i >> 3) & ((1 << 2) - 1))
#define BLUE(i) (i & ((1 << 3) - 1))
 
int main(int argc, char *argv[]) {
unsigned int i;
/branches/network/boot/tools/ppc32/font-8x16.h
0,0 → 1,38
/*
* Copyright (c) 2005 Martin Decky
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* - Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* - Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* - The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
 
#ifndef __FONT_8X16_H__
#define __FONT_8X16_H__
 
#define FONT_GLIPHS 256
#define FONT_SCANLINES 16
#define FONT_WIDTH 8
 
extern unsigned char fb_font[FONT_GLIPHS * FONT_SCANLINES];
 
#endif
/branches/network/boot/tools/ppc32/font-8x16.c
0,0 → 1,4641
/*
* Copyright (c) 2005 Martin Decky
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* - Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* - Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* - The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
 
#include "font-8x16.h"
 
unsigned char fb_font[FONT_GLIPHS * FONT_SCANLINES] = {
 
/* 0 0x00 '^@' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 1 0x01 '^A' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x7e, /* 01111110 */
0x81, /* 10000001 */
0xa5, /* 10100101 */
0x81, /* 10000001 */
0x81, /* 10000001 */
0xbd, /* 10111101 */
0x99, /* 10011001 */
0x81, /* 10000001 */
0x81, /* 10000001 */
0x7e, /* 01111110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 2 0x02 '^B' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x7e, /* 01111110 */
0xff, /* 11111111 */
0xdb, /* 11011011 */
0xff, /* 11111111 */
0xff, /* 11111111 */
0xc3, /* 11000011 */
0xe7, /* 11100111 */
0xff, /* 11111111 */
0xff, /* 11111111 */
0x7e, /* 01111110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 3 0x03 '^C' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x6c, /* 01101100 */
0xfe, /* 11111110 */
0xfe, /* 11111110 */
0xfe, /* 11111110 */
0xfe, /* 11111110 */
0x7c, /* 01111100 */
0x38, /* 00111000 */
0x10, /* 00010000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 4 0x04 '^D' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x10, /* 00010000 */
0x38, /* 00111000 */
0x7c, /* 01111100 */
0xfe, /* 11111110 */
0x7c, /* 01111100 */
0x38, /* 00111000 */
0x10, /* 00010000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 5 0x05 '^E' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x18, /* 00011000 */
0x3c, /* 00111100 */
0x3c, /* 00111100 */
0xe7, /* 11100111 */
0xe7, /* 11100111 */
0xe7, /* 11100111 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x3c, /* 00111100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 6 0x06 '^F' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x18, /* 00011000 */
0x3c, /* 00111100 */
0x7e, /* 01111110 */
0xff, /* 11111111 */
0xff, /* 11111111 */
0x7e, /* 01111110 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x3c, /* 00111100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 7 0x07 '^G' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x18, /* 00011000 */
0x3c, /* 00111100 */
0x3c, /* 00111100 */
0x18, /* 00011000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 8 0x08 '^H' */
0xff, /* 11111111 */
0xff, /* 11111111 */
0xff, /* 11111111 */
0xff, /* 11111111 */
0xff, /* 11111111 */
0xff, /* 11111111 */
0xe7, /* 11100111 */
0xc3, /* 11000011 */
0xc3, /* 11000011 */
0xe7, /* 11100111 */
0xff, /* 11111111 */
0xff, /* 11111111 */
0xff, /* 11111111 */
0xff, /* 11111111 */
0xff, /* 11111111 */
0xff, /* 11111111 */
 
/* 9 0x09 '^I' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x3c, /* 00111100 */
0x66, /* 01100110 */
0x42, /* 01000010 */
0x42, /* 01000010 */
0x66, /* 01100110 */
0x3c, /* 00111100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 10 0x0a '^J' */
0xff, /* 11111111 */
0xff, /* 11111111 */
0xff, /* 11111111 */
0xff, /* 11111111 */
0xff, /* 11111111 */
0xc3, /* 11000011 */
0x99, /* 10011001 */
0xbd, /* 10111101 */
0xbd, /* 10111101 */
0x99, /* 10011001 */
0xc3, /* 11000011 */
0xff, /* 11111111 */
0xff, /* 11111111 */
0xff, /* 11111111 */
0xff, /* 11111111 */
0xff, /* 11111111 */
 
/* 11 0x0b '^K' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x1e, /* 00011110 */
0x0e, /* 00001110 */
0x1a, /* 00011010 */
0x32, /* 00110010 */
0x78, /* 01111000 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0x78, /* 01111000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 12 0x0c '^L' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x3c, /* 00111100 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x3c, /* 00111100 */
0x18, /* 00011000 */
0x7e, /* 01111110 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 13 0x0d '^M' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x3f, /* 00111111 */
0x33, /* 00110011 */
0x3f, /* 00111111 */
0x30, /* 00110000 */
0x30, /* 00110000 */
0x30, /* 00110000 */
0x30, /* 00110000 */
0x70, /* 01110000 */
0xf0, /* 11110000 */
0xe0, /* 11100000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 14 0x0e '^N' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x7f, /* 01111111 */
0x63, /* 01100011 */
0x7f, /* 01111111 */
0x63, /* 01100011 */
0x63, /* 01100011 */
0x63, /* 01100011 */
0x63, /* 01100011 */
0x67, /* 01100111 */
0xe7, /* 11100111 */
0xe6, /* 11100110 */
0xc0, /* 11000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 15 0x0f '^O' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0xdb, /* 11011011 */
0x3c, /* 00111100 */
0xe7, /* 11100111 */
0x3c, /* 00111100 */
0xdb, /* 11011011 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 16 0x10 '^P' */
0x00, /* 00000000 */
0x80, /* 10000000 */
0xc0, /* 11000000 */
0xe0, /* 11100000 */
0xf0, /* 11110000 */
0xf8, /* 11111000 */
0xfe, /* 11111110 */
0xf8, /* 11111000 */
0xf0, /* 11110000 */
0xe0, /* 11100000 */
0xc0, /* 11000000 */
0x80, /* 10000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 17 0x11 '^Q' */
0x00, /* 00000000 */
0x02, /* 00000010 */
0x06, /* 00000110 */
0x0e, /* 00001110 */
0x1e, /* 00011110 */
0x3e, /* 00111110 */
0xfe, /* 11111110 */
0x3e, /* 00111110 */
0x1e, /* 00011110 */
0x0e, /* 00001110 */
0x06, /* 00000110 */
0x02, /* 00000010 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 18 0x12 '^R' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x18, /* 00011000 */
0x3c, /* 00111100 */
0x7e, /* 01111110 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x7e, /* 01111110 */
0x3c, /* 00111100 */
0x18, /* 00011000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 19 0x13 '^S' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x00, /* 00000000 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 20 0x14 '^T' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x7f, /* 01111111 */
0xdb, /* 11011011 */
0xdb, /* 11011011 */
0xdb, /* 11011011 */
0x7b, /* 01111011 */
0x1b, /* 00011011 */
0x1b, /* 00011011 */
0x1b, /* 00011011 */
0x1b, /* 00011011 */
0x1b, /* 00011011 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 21 0x15 '^U' */
0x00, /* 00000000 */
0x7c, /* 01111100 */
0xc6, /* 11000110 */
0x60, /* 01100000 */
0x38, /* 00111000 */
0x6c, /* 01101100 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0x6c, /* 01101100 */
0x38, /* 00111000 */
0x0c, /* 00001100 */
0xc6, /* 11000110 */
0x7c, /* 01111100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 22 0x16 '^V' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xfe, /* 11111110 */
0xfe, /* 11111110 */
0xfe, /* 11111110 */
0xfe, /* 11111110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 23 0x17 '^W' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x18, /* 00011000 */
0x3c, /* 00111100 */
0x7e, /* 01111110 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x7e, /* 01111110 */
0x3c, /* 00111100 */
0x18, /* 00011000 */
0x7e, /* 01111110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 24 0x18 '^X' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x18, /* 00011000 */
0x3c, /* 00111100 */
0x7e, /* 01111110 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 25 0x19 '^Y' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x7e, /* 01111110 */
0x3c, /* 00111100 */
0x18, /* 00011000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 26 0x1a '^Z' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x18, /* 00011000 */
0x0c, /* 00001100 */
0xfe, /* 11111110 */
0x0c, /* 00001100 */
0x18, /* 00011000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 27 0x1b '^[' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x30, /* 00110000 */
0x60, /* 01100000 */
0xfe, /* 11111110 */
0x60, /* 01100000 */
0x30, /* 00110000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 28 0x1c '^\' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xc0, /* 11000000 */
0xc0, /* 11000000 */
0xc0, /* 11000000 */
0xfe, /* 11111110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 29 0x1d '^]' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x28, /* 00101000 */
0x6c, /* 01101100 */
0xfe, /* 11111110 */
0x6c, /* 01101100 */
0x28, /* 00101000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 30 0x1e '^^' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x10, /* 00010000 */
0x38, /* 00111000 */
0x38, /* 00111000 */
0x7c, /* 01111100 */
0x7c, /* 01111100 */
0xfe, /* 11111110 */
0xfe, /* 11111110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 31 0x1f '^_' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xfe, /* 11111110 */
0xfe, /* 11111110 */
0x7c, /* 01111100 */
0x7c, /* 01111100 */
0x38, /* 00111000 */
0x38, /* 00111000 */
0x10, /* 00010000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 32 0x20 ' ' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 33 0x21 '!' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x18, /* 00011000 */
0x3c, /* 00111100 */
0x3c, /* 00111100 */
0x3c, /* 00111100 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x00, /* 00000000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 34 0x22 '"' */
0x00, /* 00000000 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x24, /* 00100100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 35 0x23 '#' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x6c, /* 01101100 */
0x6c, /* 01101100 */
0xfe, /* 11111110 */
0x6c, /* 01101100 */
0x6c, /* 01101100 */
0x6c, /* 01101100 */
0xfe, /* 11111110 */
0x6c, /* 01101100 */
0x6c, /* 01101100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 36 0x24 '$' */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x7c, /* 01111100 */
0xc6, /* 11000110 */
0xc2, /* 11000010 */
0xc0, /* 11000000 */
0x7c, /* 01111100 */
0x06, /* 00000110 */
0x06, /* 00000110 */
0x86, /* 10000110 */
0xc6, /* 11000110 */
0x7c, /* 01111100 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 37 0x25 '%' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xc2, /* 11000010 */
0xc6, /* 11000110 */
0x0c, /* 00001100 */
0x18, /* 00011000 */
0x30, /* 00110000 */
0x60, /* 01100000 */
0xc6, /* 11000110 */
0x86, /* 10000110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 38 0x26 '&' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x38, /* 00111000 */
0x6c, /* 01101100 */
0x6c, /* 01101100 */
0x38, /* 00111000 */
0x76, /* 01110110 */
0xdc, /* 11011100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0x76, /* 01110110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 39 0x27 ''' */
0x00, /* 00000000 */
0x30, /* 00110000 */
0x30, /* 00110000 */
0x30, /* 00110000 */
0x60, /* 01100000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 40 0x28 '(' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x0c, /* 00001100 */
0x18, /* 00011000 */
0x30, /* 00110000 */
0x30, /* 00110000 */
0x30, /* 00110000 */
0x30, /* 00110000 */
0x30, /* 00110000 */
0x30, /* 00110000 */
0x18, /* 00011000 */
0x0c, /* 00001100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 41 0x29 ')' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x30, /* 00110000 */
0x18, /* 00011000 */
0x0c, /* 00001100 */
0x0c, /* 00001100 */
0x0c, /* 00001100 */
0x0c, /* 00001100 */
0x0c, /* 00001100 */
0x0c, /* 00001100 */
0x18, /* 00011000 */
0x30, /* 00110000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 42 0x2a '*' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x66, /* 01100110 */
0x3c, /* 00111100 */
0xff, /* 11111111 */
0x3c, /* 00111100 */
0x66, /* 01100110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 43 0x2b '+' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x7e, /* 01111110 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 44 0x2c ',' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x30, /* 00110000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 45 0x2d '-' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xfe, /* 11111110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 46 0x2e '.' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 47 0x2f '/' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x02, /* 00000010 */
0x06, /* 00000110 */
0x0c, /* 00001100 */
0x18, /* 00011000 */
0x30, /* 00110000 */
0x60, /* 01100000 */
0xc0, /* 11000000 */
0x80, /* 10000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 48 0x30 '0' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x38, /* 00111000 */
0x6c, /* 01101100 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xd6, /* 11010110 */
0xd6, /* 11010110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0x6c, /* 01101100 */
0x38, /* 00111000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 49 0x31 '1' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x18, /* 00011000 */
0x38, /* 00111000 */
0x78, /* 01111000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x7e, /* 01111110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 50 0x32 '2' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x7c, /* 01111100 */
0xc6, /* 11000110 */
0x06, /* 00000110 */
0x0c, /* 00001100 */
0x18, /* 00011000 */
0x30, /* 00110000 */
0x60, /* 01100000 */
0xc0, /* 11000000 */
0xc6, /* 11000110 */
0xfe, /* 11111110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 51 0x33 '3' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x7c, /* 01111100 */
0xc6, /* 11000110 */
0x06, /* 00000110 */
0x06, /* 00000110 */
0x3c, /* 00111100 */
0x06, /* 00000110 */
0x06, /* 00000110 */
0x06, /* 00000110 */
0xc6, /* 11000110 */
0x7c, /* 01111100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 52 0x34 '4' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x0c, /* 00001100 */
0x1c, /* 00011100 */
0x3c, /* 00111100 */
0x6c, /* 01101100 */
0xcc, /* 11001100 */
0xfe, /* 11111110 */
0x0c, /* 00001100 */
0x0c, /* 00001100 */
0x0c, /* 00001100 */
0x1e, /* 00011110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 53 0x35 '5' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xfe, /* 11111110 */
0xc0, /* 11000000 */
0xc0, /* 11000000 */
0xc0, /* 11000000 */
0xfc, /* 11111100 */
0x06, /* 00000110 */
0x06, /* 00000110 */
0x06, /* 00000110 */
0xc6, /* 11000110 */
0x7c, /* 01111100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 54 0x36 '6' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x38, /* 00111000 */
0x60, /* 01100000 */
0xc0, /* 11000000 */
0xc0, /* 11000000 */
0xfc, /* 11111100 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0x7c, /* 01111100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 55 0x37 '7' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xfe, /* 11111110 */
0xc6, /* 11000110 */
0x06, /* 00000110 */
0x06, /* 00000110 */
0x0c, /* 00001100 */
0x18, /* 00011000 */
0x30, /* 00110000 */
0x30, /* 00110000 */
0x30, /* 00110000 */
0x30, /* 00110000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 56 0x38 '8' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x7c, /* 01111100 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0x7c, /* 01111100 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0x7c, /* 01111100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 57 0x39 '9' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x7c, /* 01111100 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0x7e, /* 01111110 */
0x06, /* 00000110 */
0x06, /* 00000110 */
0x06, /* 00000110 */
0x0c, /* 00001100 */
0x78, /* 01111000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 58 0x3a ':' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 59 0x3b ';' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x30, /* 00110000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 60 0x3c '<' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x06, /* 00000110 */
0x0c, /* 00001100 */
0x18, /* 00011000 */
0x30, /* 00110000 */
0x60, /* 01100000 */
0x30, /* 00110000 */
0x18, /* 00011000 */
0x0c, /* 00001100 */
0x06, /* 00000110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 61 0x3d '=' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x7e, /* 01111110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x7e, /* 01111110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 62 0x3e '>' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x60, /* 01100000 */
0x30, /* 00110000 */
0x18, /* 00011000 */
0x0c, /* 00001100 */
0x06, /* 00000110 */
0x0c, /* 00001100 */
0x18, /* 00011000 */
0x30, /* 00110000 */
0x60, /* 01100000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 63 0x3f '?' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x7c, /* 01111100 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0x0c, /* 00001100 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x00, /* 00000000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 64 0x40 '@' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x7c, /* 01111100 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xde, /* 11011110 */
0xde, /* 11011110 */
0xde, /* 11011110 */
0xdc, /* 11011100 */
0xc0, /* 11000000 */
0x7c, /* 01111100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 65 0x41 'A' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x10, /* 00010000 */
0x38, /* 00111000 */
0x6c, /* 01101100 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xfe, /* 11111110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 66 0x42 'B' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xfc, /* 11111100 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x7c, /* 01111100 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0xfc, /* 11111100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 67 0x43 'C' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x3c, /* 00111100 */
0x66, /* 01100110 */
0xc2, /* 11000010 */
0xc0, /* 11000000 */
0xc0, /* 11000000 */
0xc0, /* 11000000 */
0xc0, /* 11000000 */
0xc2, /* 11000010 */
0x66, /* 01100110 */
0x3c, /* 00111100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 68 0x44 'D' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xf8, /* 11111000 */
0x6c, /* 01101100 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x6c, /* 01101100 */
0xf8, /* 11111000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 69 0x45 'E' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xfe, /* 11111110 */
0x66, /* 01100110 */
0x62, /* 01100010 */
0x68, /* 01101000 */
0x78, /* 01111000 */
0x68, /* 01101000 */
0x60, /* 01100000 */
0x62, /* 01100010 */
0x66, /* 01100110 */
0xfe, /* 11111110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 70 0x46 'F' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xfe, /* 11111110 */
0x66, /* 01100110 */
0x62, /* 01100010 */
0x68, /* 01101000 */
0x78, /* 01111000 */
0x68, /* 01101000 */
0x60, /* 01100000 */
0x60, /* 01100000 */
0x60, /* 01100000 */
0xf0, /* 11110000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 71 0x47 'G' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x3c, /* 00111100 */
0x66, /* 01100110 */
0xc2, /* 11000010 */
0xc0, /* 11000000 */
0xc0, /* 11000000 */
0xde, /* 11011110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0x66, /* 01100110 */
0x3a, /* 00111010 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 72 0x48 'H' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xfe, /* 11111110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 73 0x49 'I' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x3c, /* 00111100 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x3c, /* 00111100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 74 0x4a 'J' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x1e, /* 00011110 */
0x0c, /* 00001100 */
0x0c, /* 00001100 */
0x0c, /* 00001100 */
0x0c, /* 00001100 */
0x0c, /* 00001100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0x78, /* 01111000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 75 0x4b 'K' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xe6, /* 11100110 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x6c, /* 01101100 */
0x78, /* 01111000 */
0x78, /* 01111000 */
0x6c, /* 01101100 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0xe6, /* 11100110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 76 0x4c 'L' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xf0, /* 11110000 */
0x60, /* 01100000 */
0x60, /* 01100000 */
0x60, /* 01100000 */
0x60, /* 01100000 */
0x60, /* 01100000 */
0x60, /* 01100000 */
0x62, /* 01100010 */
0x66, /* 01100110 */
0xfe, /* 11111110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 77 0x4d 'M' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xc6, /* 11000110 */
0xee, /* 11101110 */
0xfe, /* 11111110 */
0xfe, /* 11111110 */
0xd6, /* 11010110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 78 0x4e 'N' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xc6, /* 11000110 */
0xe6, /* 11100110 */
0xf6, /* 11110110 */
0xfe, /* 11111110 */
0xde, /* 11011110 */
0xce, /* 11001110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 79 0x4f 'O' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x7c, /* 01111100 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0x7c, /* 01111100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 80 0x50 'P' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xfc, /* 11111100 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x7c, /* 01111100 */
0x60, /* 01100000 */
0x60, /* 01100000 */
0x60, /* 01100000 */
0x60, /* 01100000 */
0xf0, /* 11110000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 81 0x51 'Q' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x7c, /* 01111100 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xd6, /* 11010110 */
0xde, /* 11011110 */
0x7c, /* 01111100 */
0x0c, /* 00001100 */
0x0e, /* 00001110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 82 0x52 'R' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xfc, /* 11111100 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x7c, /* 01111100 */
0x6c, /* 01101100 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0xe6, /* 11100110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 83 0x53 'S' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x7c, /* 01111100 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0x60, /* 01100000 */
0x38, /* 00111000 */
0x0c, /* 00001100 */
0x06, /* 00000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0x7c, /* 01111100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 84 0x54 'T' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x7e, /* 01111110 */
0x7e, /* 01111110 */
0x5a, /* 01011010 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x3c, /* 00111100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 85 0x55 'U' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0x7c, /* 01111100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 86 0x56 'V' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0x6c, /* 01101100 */
0x38, /* 00111000 */
0x10, /* 00010000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 87 0x57 'W' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xd6, /* 11010110 */
0xd6, /* 11010110 */
0xd6, /* 11010110 */
0xfe, /* 11111110 */
0xee, /* 11101110 */
0x6c, /* 01101100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 88 0x58 'X' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0x6c, /* 01101100 */
0x7c, /* 01111100 */
0x38, /* 00111000 */
0x38, /* 00111000 */
0x7c, /* 01111100 */
0x6c, /* 01101100 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 89 0x59 'Y' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x3c, /* 00111100 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x3c, /* 00111100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 90 0x5a 'Z' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xfe, /* 11111110 */
0xc6, /* 11000110 */
0x86, /* 10000110 */
0x0c, /* 00001100 */
0x18, /* 00011000 */
0x30, /* 00110000 */
0x60, /* 01100000 */
0xc2, /* 11000010 */
0xc6, /* 11000110 */
0xfe, /* 11111110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 91 0x5b '[' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x3c, /* 00111100 */
0x30, /* 00110000 */
0x30, /* 00110000 */
0x30, /* 00110000 */
0x30, /* 00110000 */
0x30, /* 00110000 */
0x30, /* 00110000 */
0x30, /* 00110000 */
0x30, /* 00110000 */
0x3c, /* 00111100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 92 0x5c '\' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x80, /* 10000000 */
0xc0, /* 11000000 */
0xe0, /* 11100000 */
0x70, /* 01110000 */
0x38, /* 00111000 */
0x1c, /* 00011100 */
0x0e, /* 00001110 */
0x06, /* 00000110 */
0x02, /* 00000010 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 93 0x5d ']' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x3c, /* 00111100 */
0x0c, /* 00001100 */
0x0c, /* 00001100 */
0x0c, /* 00001100 */
0x0c, /* 00001100 */
0x0c, /* 00001100 */
0x0c, /* 00001100 */
0x0c, /* 00001100 */
0x0c, /* 00001100 */
0x3c, /* 00111100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 94 0x5e '^' */
0x10, /* 00010000 */
0x38, /* 00111000 */
0x6c, /* 01101100 */
0xc6, /* 11000110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 95 0x5f '_' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xff, /* 11111111 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 96 0x60 '`' */
0x00, /* 00000000 */
0x30, /* 00110000 */
0x18, /* 00011000 */
0x0c, /* 00001100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 97 0x61 'a' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x78, /* 01111000 */
0x0c, /* 00001100 */
0x7c, /* 01111100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0x76, /* 01110110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 98 0x62 'b' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xe0, /* 11100000 */
0x60, /* 01100000 */
0x60, /* 01100000 */
0x78, /* 01111000 */
0x6c, /* 01101100 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x7c, /* 01111100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 99 0x63 'c' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x7c, /* 01111100 */
0xc6, /* 11000110 */
0xc0, /* 11000000 */
0xc0, /* 11000000 */
0xc0, /* 11000000 */
0xc6, /* 11000110 */
0x7c, /* 01111100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 100 0x64 'd' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x1c, /* 00011100 */
0x0c, /* 00001100 */
0x0c, /* 00001100 */
0x3c, /* 00111100 */
0x6c, /* 01101100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0x76, /* 01110110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 101 0x65 'e' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x7c, /* 01111100 */
0xc6, /* 11000110 */
0xfe, /* 11111110 */
0xc0, /* 11000000 */
0xc0, /* 11000000 */
0xc6, /* 11000110 */
0x7c, /* 01111100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 102 0x66 'f' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x1c, /* 00011100 */
0x36, /* 00110110 */
0x32, /* 00110010 */
0x30, /* 00110000 */
0x78, /* 01111000 */
0x30, /* 00110000 */
0x30, /* 00110000 */
0x30, /* 00110000 */
0x30, /* 00110000 */
0x78, /* 01111000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 103 0x67 'g' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x76, /* 01110110 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0x7c, /* 01111100 */
0x0c, /* 00001100 */
0xcc, /* 11001100 */
0x78, /* 01111000 */
0x00, /* 00000000 */
 
/* 104 0x68 'h' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xe0, /* 11100000 */
0x60, /* 01100000 */
0x60, /* 01100000 */
0x6c, /* 01101100 */
0x76, /* 01110110 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0xe6, /* 11100110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 105 0x69 'i' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x00, /* 00000000 */
0x38, /* 00111000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x3c, /* 00111100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 106 0x6a 'j' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x06, /* 00000110 */
0x06, /* 00000110 */
0x00, /* 00000000 */
0x0e, /* 00001110 */
0x06, /* 00000110 */
0x06, /* 00000110 */
0x06, /* 00000110 */
0x06, /* 00000110 */
0x06, /* 00000110 */
0x06, /* 00000110 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x3c, /* 00111100 */
0x00, /* 00000000 */
 
/* 107 0x6b 'k' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xe0, /* 11100000 */
0x60, /* 01100000 */
0x60, /* 01100000 */
0x66, /* 01100110 */
0x6c, /* 01101100 */
0x78, /* 01111000 */
0x78, /* 01111000 */
0x6c, /* 01101100 */
0x66, /* 01100110 */
0xe6, /* 11100110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 108 0x6c 'l' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x38, /* 00111000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x3c, /* 00111100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 109 0x6d 'm' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xec, /* 11101100 */
0xfe, /* 11111110 */
0xd6, /* 11010110 */
0xd6, /* 11010110 */
0xd6, /* 11010110 */
0xd6, /* 11010110 */
0xc6, /* 11000110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 110 0x6e 'n' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xdc, /* 11011100 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 111 0x6f 'o' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x7c, /* 01111100 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0x7c, /* 01111100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 112 0x70 'p' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xdc, /* 11011100 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x7c, /* 01111100 */
0x60, /* 01100000 */
0x60, /* 01100000 */
0xf0, /* 11110000 */
0x00, /* 00000000 */
 
/* 113 0x71 'q' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x76, /* 01110110 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0x7c, /* 01111100 */
0x0c, /* 00001100 */
0x0c, /* 00001100 */
0x1e, /* 00011110 */
0x00, /* 00000000 */
 
/* 114 0x72 'r' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xdc, /* 11011100 */
0x76, /* 01110110 */
0x66, /* 01100110 */
0x60, /* 01100000 */
0x60, /* 01100000 */
0x60, /* 01100000 */
0xf0, /* 11110000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 115 0x73 's' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x7c, /* 01111100 */
0xc6, /* 11000110 */
0x60, /* 01100000 */
0x38, /* 00111000 */
0x0c, /* 00001100 */
0xc6, /* 11000110 */
0x7c, /* 01111100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 116 0x74 't' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x10, /* 00010000 */
0x30, /* 00110000 */
0x30, /* 00110000 */
0xfc, /* 11111100 */
0x30, /* 00110000 */
0x30, /* 00110000 */
0x30, /* 00110000 */
0x30, /* 00110000 */
0x36, /* 00110110 */
0x1c, /* 00011100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 117 0x75 'u' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0x76, /* 01110110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 118 0x76 'v' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0x6c, /* 01101100 */
0x38, /* 00111000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 119 0x77 'w' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xd6, /* 11010110 */
0xd6, /* 11010110 */
0xd6, /* 11010110 */
0xfe, /* 11111110 */
0x6c, /* 01101100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 120 0x78 'x' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xc6, /* 11000110 */
0x6c, /* 01101100 */
0x38, /* 00111000 */
0x38, /* 00111000 */
0x38, /* 00111000 */
0x6c, /* 01101100 */
0xc6, /* 11000110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 121 0x79 'y' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0x7e, /* 01111110 */
0x06, /* 00000110 */
0x0c, /* 00001100 */
0xf8, /* 11111000 */
0x00, /* 00000000 */
 
/* 122 0x7a 'z' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xfe, /* 11111110 */
0xcc, /* 11001100 */
0x18, /* 00011000 */
0x30, /* 00110000 */
0x60, /* 01100000 */
0xc6, /* 11000110 */
0xfe, /* 11111110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 123 0x7b '{' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x0e, /* 00001110 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x70, /* 01110000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x0e, /* 00001110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 124 0x7c '|' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 125 0x7d '}' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x70, /* 01110000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x0e, /* 00001110 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x70, /* 01110000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 126 0x7e '~' */
0x00, /* 00000000 */
0x76, /* 01110110 */
0xdc, /* 11011100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 127 0x7f '' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x10, /* 00010000 */
0x38, /* 00111000 */
0x6c, /* 01101100 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xfe, /* 11111110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 128 0x80 '€' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x3c, /* 00111100 */
0x66, /* 01100110 */
0xc2, /* 11000010 */
0xc0, /* 11000000 */
0xc0, /* 11000000 */
0xc0, /* 11000000 */
0xc0, /* 11000000 */
0xc2, /* 11000010 */
0x66, /* 01100110 */
0x3c, /* 00111100 */
0x18, /* 00011000 */
0x70, /* 01110000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 129 0x81 '' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xcc, /* 11001100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0x76, /* 01110110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 130 0x82 '‚' */
0x00, /* 00000000 */
0x0c, /* 00001100 */
0x18, /* 00011000 */
0x30, /* 00110000 */
0x00, /* 00000000 */
0x7c, /* 01111100 */
0xc6, /* 11000110 */
0xfe, /* 11111110 */
0xc0, /* 11000000 */
0xc0, /* 11000000 */
0xc6, /* 11000110 */
0x7c, /* 01111100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 131 0x83 'ƒ' */
0x00, /* 00000000 */
0x10, /* 00010000 */
0x38, /* 00111000 */
0x6c, /* 01101100 */
0x00, /* 00000000 */
0x78, /* 01111000 */
0x0c, /* 00001100 */
0x7c, /* 01111100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0x76, /* 01110110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 132 0x84 '„' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xcc, /* 11001100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x78, /* 01111000 */
0x0c, /* 00001100 */
0x7c, /* 01111100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0x76, /* 01110110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 133 0x85 '…' */
0x00, /* 00000000 */
0x60, /* 01100000 */
0x30, /* 00110000 */
0x18, /* 00011000 */
0x00, /* 00000000 */
0x78, /* 01111000 */
0x0c, /* 00001100 */
0x7c, /* 01111100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0x76, /* 01110110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 134 0x86 '†' */
0x00, /* 00000000 */
0x38, /* 00111000 */
0x6c, /* 01101100 */
0x38, /* 00111000 */
0x00, /* 00000000 */
0x78, /* 01111000 */
0x0c, /* 00001100 */
0x7c, /* 01111100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0x76, /* 01110110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 135 0x87 '‡' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x7c, /* 01111100 */
0xc6, /* 11000110 */
0xc0, /* 11000000 */
0xc0, /* 11000000 */
0xc0, /* 11000000 */
0xc6, /* 11000110 */
0x7c, /* 01111100 */
0x18, /* 00011000 */
0x70, /* 01110000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 136 0x88 'ˆ' */
0x00, /* 00000000 */
0x10, /* 00010000 */
0x38, /* 00111000 */
0x6c, /* 01101100 */
0x00, /* 00000000 */
0x7c, /* 01111100 */
0xc6, /* 11000110 */
0xfe, /* 11111110 */
0xc0, /* 11000000 */
0xc0, /* 11000000 */
0xc6, /* 11000110 */
0x7c, /* 01111100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 137 0x89 '‰' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xc6, /* 11000110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x7c, /* 01111100 */
0xc6, /* 11000110 */
0xfe, /* 11111110 */
0xc0, /* 11000000 */
0xc0, /* 11000000 */
0xc6, /* 11000110 */
0x7c, /* 01111100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 138 0x8a 'Š' */
0x00, /* 00000000 */
0x60, /* 01100000 */
0x30, /* 00110000 */
0x18, /* 00011000 */
0x00, /* 00000000 */
0x7c, /* 01111100 */
0xc6, /* 11000110 */
0xfe, /* 11111110 */
0xc0, /* 11000000 */
0xc0, /* 11000000 */
0xc6, /* 11000110 */
0x7c, /* 01111100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 139 0x8b '‹' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x66, /* 01100110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x38, /* 00111000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x3c, /* 00111100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 140 0x8c 'Œ' */
0x00, /* 00000000 */
0x18, /* 00011000 */
0x3c, /* 00111100 */
0x66, /* 01100110 */
0x00, /* 00000000 */
0x38, /* 00111000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x3c, /* 00111100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 141 0x8d '' */
0x00, /* 00000000 */
0x60, /* 01100000 */
0x30, /* 00110000 */
0x18, /* 00011000 */
0x00, /* 00000000 */
0x38, /* 00111000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x3c, /* 00111100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 142 0x8e 'Ž' */
0x00, /* 00000000 */
0xc6, /* 11000110 */
0x00, /* 00000000 */
0x10, /* 00010000 */
0x38, /* 00111000 */
0x6c, /* 01101100 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xfe, /* 11111110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 143 0x8f '' */
0x38, /* 00111000 */
0x6c, /* 01101100 */
0x38, /* 00111000 */
0x10, /* 00010000 */
0x38, /* 00111000 */
0x6c, /* 01101100 */
0xc6, /* 11000110 */
0xfe, /* 11111110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 144 0x90 '' */
0x0c, /* 00001100 */
0x18, /* 00011000 */
0x00, /* 00000000 */
0xfe, /* 11111110 */
0x66, /* 01100110 */
0x62, /* 01100010 */
0x68, /* 01101000 */
0x78, /* 01111000 */
0x68, /* 01101000 */
0x62, /* 01100010 */
0x66, /* 01100110 */
0xfe, /* 11111110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 145 0x91 '‘' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xec, /* 11101100 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x7e, /* 01111110 */
0xd8, /* 11011000 */
0xd8, /* 11011000 */
0x6e, /* 01101110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 146 0x92 '’' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x3e, /* 00111110 */
0x6c, /* 01101100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0xfe, /* 11111110 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0xce, /* 11001110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 147 0x93 '“' */
0x00, /* 00000000 */
0x10, /* 00010000 */
0x38, /* 00111000 */
0x6c, /* 01101100 */
0x00, /* 00000000 */
0x7c, /* 01111100 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0x7c, /* 01111100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 148 0x94 '”' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xc6, /* 11000110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x7c, /* 01111100 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0x7c, /* 01111100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 149 0x95 '•' */
0x00, /* 00000000 */
0x60, /* 01100000 */
0x30, /* 00110000 */
0x18, /* 00011000 */
0x00, /* 00000000 */
0x7c, /* 01111100 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0x7c, /* 01111100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 150 0x96 '–' */
0x00, /* 00000000 */
0x30, /* 00110000 */
0x78, /* 01111000 */
0xcc, /* 11001100 */
0x00, /* 00000000 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0x76, /* 01110110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 151 0x97 '—' */
0x00, /* 00000000 */
0x60, /* 01100000 */
0x30, /* 00110000 */
0x18, /* 00011000 */
0x00, /* 00000000 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0x76, /* 01110110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 152 0x98 '˜' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xc6, /* 11000110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0x7e, /* 01111110 */
0x06, /* 00000110 */
0x0c, /* 00001100 */
0x78, /* 01111000 */
0x00, /* 00000000 */
 
/* 153 0x99 '™' */
0x00, /* 00000000 */
0xc6, /* 11000110 */
0x00, /* 00000000 */
0x7c, /* 01111100 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0x7c, /* 01111100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 154 0x9a 'š' */
0x00, /* 00000000 */
0xc6, /* 11000110 */
0x00, /* 00000000 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0x7c, /* 01111100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 155 0x9b '›' */
0x00, /* 00000000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x7c, /* 01111100 */
0xc6, /* 11000110 */
0xc0, /* 11000000 */
0xc0, /* 11000000 */
0xc0, /* 11000000 */
0xc6, /* 11000110 */
0x7c, /* 01111100 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 156 0x9c 'œ' */
0x00, /* 00000000 */
0x38, /* 00111000 */
0x6c, /* 01101100 */
0x64, /* 01100100 */
0x60, /* 01100000 */
0xf0, /* 11110000 */
0x60, /* 01100000 */
0x60, /* 01100000 */
0x60, /* 01100000 */
0x60, /* 01100000 */
0xe6, /* 11100110 */
0xfc, /* 11111100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 157 0x9d '' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x3c, /* 00111100 */
0x18, /* 00011000 */
0x7e, /* 01111110 */
0x18, /* 00011000 */
0x7e, /* 01111110 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 158 0x9e 'ž' */
0x00, /* 00000000 */
0xf8, /* 11111000 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0xf8, /* 11111000 */
0xc4, /* 11000100 */
0xcc, /* 11001100 */
0xde, /* 11011110 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0xc6, /* 11000110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 159 0x9f 'Ÿ' */
0x00, /* 00000000 */
0x0e, /* 00001110 */
0x1b, /* 00011011 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x7e, /* 01111110 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0xd8, /* 11011000 */
0x70, /* 01110000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 160 0xa0 ' ' */
0x00, /* 00000000 */
0x18, /* 00011000 */
0x30, /* 00110000 */
0x60, /* 01100000 */
0x00, /* 00000000 */
0x78, /* 01111000 */
0x0c, /* 00001100 */
0x7c, /* 01111100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0x76, /* 01110110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 161 0xa1 '¡' */
0x00, /* 00000000 */
0x0c, /* 00001100 */
0x18, /* 00011000 */
0x30, /* 00110000 */
0x00, /* 00000000 */
0x38, /* 00111000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x3c, /* 00111100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 162 0xa2 '¢' */
0x00, /* 00000000 */
0x18, /* 00011000 */
0x30, /* 00110000 */
0x60, /* 01100000 */
0x00, /* 00000000 */
0x7c, /* 01111100 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0x7c, /* 01111100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 163 0xa3 '£' */
0x00, /* 00000000 */
0x18, /* 00011000 */
0x30, /* 00110000 */
0x60, /* 01100000 */
0x00, /* 00000000 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0x76, /* 01110110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 164 0xa4 '¤' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x76, /* 01110110 */
0xdc, /* 11011100 */
0x00, /* 00000000 */
0xdc, /* 11011100 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 165 0xa5 '¥' */
0x76, /* 01110110 */
0xdc, /* 11011100 */
0x00, /* 00000000 */
0xc6, /* 11000110 */
0xe6, /* 11100110 */
0xf6, /* 11110110 */
0xfe, /* 11111110 */
0xde, /* 11011110 */
0xce, /* 11001110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 166 0xa6 '¦' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x3c, /* 00111100 */
0x6c, /* 01101100 */
0x6c, /* 01101100 */
0x3e, /* 00111110 */
0x00, /* 00000000 */
0x7e, /* 01111110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 167 0xa7 '§' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x38, /* 00111000 */
0x6c, /* 01101100 */
0x6c, /* 01101100 */
0x38, /* 00111000 */
0x00, /* 00000000 */
0x7c, /* 01111100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 168 0xa8 '¨' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x30, /* 00110000 */
0x30, /* 00110000 */
0x00, /* 00000000 */
0x30, /* 00110000 */
0x30, /* 00110000 */
0x60, /* 01100000 */
0xc0, /* 11000000 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0x7c, /* 01111100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 169 0xa9 '©' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xfe, /* 11111110 */
0xc0, /* 11000000 */
0xc0, /* 11000000 */
0xc0, /* 11000000 */
0xc0, /* 11000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 170 0xaa 'ª' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xfe, /* 11111110 */
0x06, /* 00000110 */
0x06, /* 00000110 */
0x06, /* 00000110 */
0x06, /* 00000110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 171 0xab '«' */
0x00, /* 00000000 */
0x60, /* 01100000 */
0xe0, /* 11100000 */
0x62, /* 01100010 */
0x66, /* 01100110 */
0x6c, /* 01101100 */
0x18, /* 00011000 */
0x30, /* 00110000 */
0x60, /* 01100000 */
0xdc, /* 11011100 */
0x86, /* 10000110 */
0x0c, /* 00001100 */
0x18, /* 00011000 */
0x3e, /* 00111110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 172 0xac '¬' */
0x00, /* 00000000 */
0x60, /* 01100000 */
0xe0, /* 11100000 */
0x62, /* 01100010 */
0x66, /* 01100110 */
0x6c, /* 01101100 */
0x18, /* 00011000 */
0x30, /* 00110000 */
0x66, /* 01100110 */
0xce, /* 11001110 */
0x9a, /* 10011010 */
0x3f, /* 00111111 */
0x06, /* 00000110 */
0x06, /* 00000110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 173 0xad '­' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x00, /* 00000000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x3c, /* 00111100 */
0x3c, /* 00111100 */
0x3c, /* 00111100 */
0x18, /* 00011000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 174 0xae '®' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x36, /* 00110110 */
0x6c, /* 01101100 */
0xd8, /* 11011000 */
0x6c, /* 01101100 */
0x36, /* 00110110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 175 0xaf '¯' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xd8, /* 11011000 */
0x6c, /* 01101100 */
0x36, /* 00110110 */
0x6c, /* 01101100 */
0xd8, /* 11011000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 176 0xb0 '°' */
0x11, /* 00010001 */
0x44, /* 01000100 */
0x11, /* 00010001 */
0x44, /* 01000100 */
0x11, /* 00010001 */
0x44, /* 01000100 */
0x11, /* 00010001 */
0x44, /* 01000100 */
0x11, /* 00010001 */
0x44, /* 01000100 */
0x11, /* 00010001 */
0x44, /* 01000100 */
0x11, /* 00010001 */
0x44, /* 01000100 */
0x11, /* 00010001 */
0x44, /* 01000100 */
 
/* 177 0xb1 '±' */
0x55, /* 01010101 */
0xaa, /* 10101010 */
0x55, /* 01010101 */
0xaa, /* 10101010 */
0x55, /* 01010101 */
0xaa, /* 10101010 */
0x55, /* 01010101 */
0xaa, /* 10101010 */
0x55, /* 01010101 */
0xaa, /* 10101010 */
0x55, /* 01010101 */
0xaa, /* 10101010 */
0x55, /* 01010101 */
0xaa, /* 10101010 */
0x55, /* 01010101 */
0xaa, /* 10101010 */
 
/* 178 0xb2 '²' */
0xdd, /* 11011101 */
0x77, /* 01110111 */
0xdd, /* 11011101 */
0x77, /* 01110111 */
0xdd, /* 11011101 */
0x77, /* 01110111 */
0xdd, /* 11011101 */
0x77, /* 01110111 */
0xdd, /* 11011101 */
0x77, /* 01110111 */
0xdd, /* 11011101 */
0x77, /* 01110111 */
0xdd, /* 11011101 */
0x77, /* 01110111 */
0xdd, /* 11011101 */
0x77, /* 01110111 */
 
/* 179 0xb3 '³' */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
 
/* 180 0xb4 '´' */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0xf8, /* 11111000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
 
/* 181 0xb5 'µ' */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0xf8, /* 11111000 */
0x18, /* 00011000 */
0xf8, /* 11111000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
 
/* 182 0xb6 '¶' */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0xf6, /* 11110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
 
/* 183 0xb7 '·' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xfe, /* 11111110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
 
/* 184 0xb8 '¸' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xf8, /* 11111000 */
0x18, /* 00011000 */
0xf8, /* 11111000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
 
/* 185 0xb9 '¹' */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0xf6, /* 11110110 */
0x06, /* 00000110 */
0xf6, /* 11110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
 
/* 186 0xba 'º' */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
 
/* 187 0xbb '»' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xfe, /* 11111110 */
0x06, /* 00000110 */
0xf6, /* 11110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
 
/* 188 0xbc '¼' */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0xf6, /* 11110110 */
0x06, /* 00000110 */
0xfe, /* 11111110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 189 0xbd '½' */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0xfe, /* 11111110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 190 0xbe '¾' */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0xf8, /* 11111000 */
0x18, /* 00011000 */
0xf8, /* 11111000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 191 0xbf '¿' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xf8, /* 11111000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
 
/* 192 0xc0 'À' */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x1f, /* 00011111 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 193 0xc1 'Á' */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0xff, /* 11111111 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 194 0xc2 'Â' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xff, /* 11111111 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
 
/* 195 0xc3 'Ã' */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x1f, /* 00011111 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
 
/* 196 0xc4 'Ä' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xff, /* 11111111 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 197 0xc5 'Å' */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0xff, /* 11111111 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
 
/* 198 0xc6 'Æ' */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x1f, /* 00011111 */
0x18, /* 00011000 */
0x1f, /* 00011111 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
 
/* 199 0xc7 'Ç' */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x37, /* 00110111 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
 
/* 200 0xc8 'È' */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x37, /* 00110111 */
0x30, /* 00110000 */
0x3f, /* 00111111 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 201 0xc9 'É' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x3f, /* 00111111 */
0x30, /* 00110000 */
0x37, /* 00110111 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
 
/* 202 0xca 'Ê' */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0xf7, /* 11110111 */
0x00, /* 00000000 */
0xff, /* 11111111 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 203 0xcb 'Ë' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xff, /* 11111111 */
0x00, /* 00000000 */
0xf7, /* 11110111 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
 
/* 204 0xcc 'Ì' */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x37, /* 00110111 */
0x30, /* 00110000 */
0x37, /* 00110111 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
 
/* 205 0xcd 'Í' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xff, /* 11111111 */
0x00, /* 00000000 */
0xff, /* 11111111 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 206 0xce 'Î' */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0xf7, /* 11110111 */
0x00, /* 00000000 */
0xf7, /* 11110111 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
 
/* 207 0xcf 'Ï' */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0xff, /* 11111111 */
0x00, /* 00000000 */
0xff, /* 11111111 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 208 0xd0 'Ð' */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0xff, /* 11111111 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 209 0xd1 'Ñ' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xff, /* 11111111 */
0x00, /* 00000000 */
0xff, /* 11111111 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
 
/* 210 0xd2 'Ò' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xff, /* 11111111 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
 
/* 211 0xd3 'Ó' */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x3f, /* 00111111 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 212 0xd4 'Ô' */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x1f, /* 00011111 */
0x18, /* 00011000 */
0x1f, /* 00011111 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 213 0xd5 'Õ' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x1f, /* 00011111 */
0x18, /* 00011000 */
0x1f, /* 00011111 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
 
/* 214 0xd6 'Ö' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x3f, /* 00111111 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
 
/* 215 0xd7 '×' */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0xff, /* 11111111 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
 
/* 216 0xd8 'Ø' */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0xff, /* 11111111 */
0x18, /* 00011000 */
0xff, /* 11111111 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
 
/* 217 0xd9 'Ù' */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0xf8, /* 11111000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 218 0xda 'Ú' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x1f, /* 00011111 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
 
/* 219 0xdb 'Û' */
0xff, /* 11111111 */
0xff, /* 11111111 */
0xff, /* 11111111 */
0xff, /* 11111111 */
0xff, /* 11111111 */
0xff, /* 11111111 */
0xff, /* 11111111 */
0xff, /* 11111111 */
0xff, /* 11111111 */
0xff, /* 11111111 */
0xff, /* 11111111 */
0xff, /* 11111111 */
0xff, /* 11111111 */
0xff, /* 11111111 */
0xff, /* 11111111 */
0xff, /* 11111111 */
 
/* 220 0xdc 'Ü' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xff, /* 11111111 */
0xff, /* 11111111 */
0xff, /* 11111111 */
0xff, /* 11111111 */
0xff, /* 11111111 */
0xff, /* 11111111 */
0xff, /* 11111111 */
0xff, /* 11111111 */
0xff, /* 11111111 */
 
/* 221 0xdd 'Ý' */
0xf0, /* 11110000 */
0xf0, /* 11110000 */
0xf0, /* 11110000 */
0xf0, /* 11110000 */
0xf0, /* 11110000 */
0xf0, /* 11110000 */
0xf0, /* 11110000 */
0xf0, /* 11110000 */
0xf0, /* 11110000 */
0xf0, /* 11110000 */
0xf0, /* 11110000 */
0xf0, /* 11110000 */
0xf0, /* 11110000 */
0xf0, /* 11110000 */
0xf0, /* 11110000 */
0xf0, /* 11110000 */
 
/* 222 0xde 'Þ' */
0x0f, /* 00001111 */
0x0f, /* 00001111 */
0x0f, /* 00001111 */
0x0f, /* 00001111 */
0x0f, /* 00001111 */
0x0f, /* 00001111 */
0x0f, /* 00001111 */
0x0f, /* 00001111 */
0x0f, /* 00001111 */
0x0f, /* 00001111 */
0x0f, /* 00001111 */
0x0f, /* 00001111 */
0x0f, /* 00001111 */
0x0f, /* 00001111 */
0x0f, /* 00001111 */
0x0f, /* 00001111 */
 
/* 223 0xdf 'ß' */
0xff, /* 11111111 */
0xff, /* 11111111 */
0xff, /* 11111111 */
0xff, /* 11111111 */
0xff, /* 11111111 */
0xff, /* 11111111 */
0xff, /* 11111111 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 224 0xe0 'à' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x76, /* 01110110 */
0xdc, /* 11011100 */
0xd8, /* 11011000 */
0xd8, /* 11011000 */
0xd8, /* 11011000 */
0xdc, /* 11011100 */
0x76, /* 01110110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 225 0xe1 'á' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x78, /* 01111000 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0xcc, /* 11001100 */
0xd8, /* 11011000 */
0xcc, /* 11001100 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xcc, /* 11001100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 226 0xe2 'â' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xfe, /* 11111110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc0, /* 11000000 */
0xc0, /* 11000000 */
0xc0, /* 11000000 */
0xc0, /* 11000000 */
0xc0, /* 11000000 */
0xc0, /* 11000000 */
0xc0, /* 11000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 227 0xe3 'ã' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xfe, /* 11111110 */
0x6c, /* 01101100 */
0x6c, /* 01101100 */
0x6c, /* 01101100 */
0x6c, /* 01101100 */
0x6c, /* 01101100 */
0x6c, /* 01101100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 228 0xe4 'ä' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xfe, /* 11111110 */
0xc6, /* 11000110 */
0x60, /* 01100000 */
0x30, /* 00110000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x30, /* 00110000 */
0x60, /* 01100000 */
0xc6, /* 11000110 */
0xfe, /* 11111110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 229 0xe5 'å' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x7e, /* 01111110 */
0xd8, /* 11011000 */
0xd8, /* 11011000 */
0xd8, /* 11011000 */
0xd8, /* 11011000 */
0xd8, /* 11011000 */
0x70, /* 01110000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 230 0xe6 'æ' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x7c, /* 01111100 */
0x60, /* 01100000 */
0x60, /* 01100000 */
0xc0, /* 11000000 */
0x00, /* 00000000 */
 
/* 231 0xe7 'ç' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x76, /* 01110110 */
0xdc, /* 11011100 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 232 0xe8 'è' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x7e, /* 01111110 */
0x18, /* 00011000 */
0x3c, /* 00111100 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x3c, /* 00111100 */
0x18, /* 00011000 */
0x7e, /* 01111110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 233 0xe9 'é' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x38, /* 00111000 */
0x6c, /* 01101100 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xfe, /* 11111110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0x6c, /* 01101100 */
0x38, /* 00111000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 234 0xea 'ê' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x38, /* 00111000 */
0x6c, /* 01101100 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0x6c, /* 01101100 */
0x6c, /* 01101100 */
0x6c, /* 01101100 */
0x6c, /* 01101100 */
0xee, /* 11101110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 235 0xeb 'ë' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x1e, /* 00011110 */
0x30, /* 00110000 */
0x18, /* 00011000 */
0x0c, /* 00001100 */
0x3e, /* 00111110 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x66, /* 01100110 */
0x3c, /* 00111100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 236 0xec 'ì' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x7e, /* 01111110 */
0xdb, /* 11011011 */
0xdb, /* 11011011 */
0xdb, /* 11011011 */
0x7e, /* 01111110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 237 0xed 'í' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x03, /* 00000011 */
0x06, /* 00000110 */
0x7e, /* 01111110 */
0xdb, /* 11011011 */
0xdb, /* 11011011 */
0xf3, /* 11110011 */
0x7e, /* 01111110 */
0x60, /* 01100000 */
0xc0, /* 11000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 238 0xee 'î' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x1c, /* 00011100 */
0x30, /* 00110000 */
0x60, /* 01100000 */
0x60, /* 01100000 */
0x7c, /* 01111100 */
0x60, /* 01100000 */
0x60, /* 01100000 */
0x60, /* 01100000 */
0x30, /* 00110000 */
0x1c, /* 00011100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 239 0xef 'ï' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x7c, /* 01111100 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0xc6, /* 11000110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 240 0xf0 'ð' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xfe, /* 11111110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xfe, /* 11111110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0xfe, /* 11111110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 241 0xf1 'ñ' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x7e, /* 01111110 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x7e, /* 01111110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 242 0xf2 'ò' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x30, /* 00110000 */
0x18, /* 00011000 */
0x0c, /* 00001100 */
0x06, /* 00000110 */
0x0c, /* 00001100 */
0x18, /* 00011000 */
0x30, /* 00110000 */
0x00, /* 00000000 */
0x7e, /* 01111110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 243 0xf3 'ó' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x0c, /* 00001100 */
0x18, /* 00011000 */
0x30, /* 00110000 */
0x60, /* 01100000 */
0x30, /* 00110000 */
0x18, /* 00011000 */
0x0c, /* 00001100 */
0x00, /* 00000000 */
0x7e, /* 01111110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 244 0xf4 'ô' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x0e, /* 00001110 */
0x1b, /* 00011011 */
0x1b, /* 00011011 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
 
/* 245 0xf5 'õ' */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0xd8, /* 11011000 */
0xd8, /* 11011000 */
0xd8, /* 11011000 */
0x70, /* 01110000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 246 0xf6 'ö' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x18, /* 00011000 */
0x00, /* 00000000 */
0x7e, /* 01111110 */
0x00, /* 00000000 */
0x18, /* 00011000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 247 0xf7 '÷' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x76, /* 01110110 */
0xdc, /* 11011100 */
0x00, /* 00000000 */
0x76, /* 01110110 */
0xdc, /* 11011100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 248 0xf8 'ø' */
0x00, /* 00000000 */
0x38, /* 00111000 */
0x6c, /* 01101100 */
0x6c, /* 01101100 */
0x38, /* 00111000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 249 0xf9 'ù' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x18, /* 00011000 */
0x18, /* 00011000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 250 0xfa 'ú' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x18, /* 00011000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 251 0xfb 'û' */
0x00, /* 00000000 */
0x0f, /* 00001111 */
0x0c, /* 00001100 */
0x0c, /* 00001100 */
0x0c, /* 00001100 */
0x0c, /* 00001100 */
0x0c, /* 00001100 */
0xec, /* 11101100 */
0x6c, /* 01101100 */
0x6c, /* 01101100 */
0x3c, /* 00111100 */
0x1c, /* 00011100 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 252 0xfc 'ü' */
0x00, /* 00000000 */
0x6c, /* 01101100 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x36, /* 00110110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 253 0xfd 'ý' */
0x00, /* 00000000 */
0x3c, /* 00111100 */
0x66, /* 01100110 */
0x0c, /* 00001100 */
0x18, /* 00011000 */
0x32, /* 00110010 */
0x7e, /* 01111110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 254 0xfe 'þ' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x7e, /* 01111110 */
0x7e, /* 01111110 */
0x7e, /* 01111110 */
0x7e, /* 01111110 */
0x7e, /* 01111110 */
0x7e, /* 01111110 */
0x7e, /* 01111110 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
/* 255 0xff 'ÿ' */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
0x00, /* 00000000 */
 
};
/branches/network/boot/tools/ppc32/debug.c
0,0 → 1,68
#include "font-8x16.h"
 
#define FB_REG "r8"
#define SCAN_REG "r9"
 
#define ADDR_REG "r10"
#define FG_REG "r11"
#define BG_REG "r12"
 
#define FG_COLOR 0xffffffff
#define BG_COLOR 0x00000000
 
#define BPP 4
 
void print_macro_init(void) {
printf(".macro DEBUG_INIT\n");
printf("#ifdef CONFIG_DEBUG\n");
printf("\tlis %s, %d\n", FG_REG, FG_COLOR >> 16);
printf("\tori %s, %s, %d\n", FG_REG, FG_REG, FG_COLOR & 0xffff);
printf("\t\n");
printf("\tlis %s, %d\n", BG_REG, BG_COLOR >> 16);
printf("\tori %s, %s, %d\n", BG_REG, BG_REG, BG_COLOR & 0xffff);
printf("\t\n");
printf("\tmr %s, %s\n", ADDR_REG, FB_REG);
printf("#endif\n");
printf(".endm\n");
}
 
void print_macro(const char *name) {
printf(".macro DEBUG_%s\n", name);
printf("#ifdef CONFIG_DEBUG\n");
unsigned int y;
for (y = 0; y < FONT_SCANLINES; y++) {
printf("\t\n");
if (y > 0)
printf("\tadd %s, %s, %s\n", ADDR_REG, ADDR_REG, SCAN_REG);
unsigned int i;
for (i = 0; name[i] != 0; i++) {
char c = name[i];
unsigned int x;
for (x = 0; x < FONT_WIDTH; x++) {
if (((fb_font[c * FONT_SCANLINES + y] >> (FONT_WIDTH - x)) & 1) == 1)
printf("\tstw %s, %d(%s)\n", FG_REG, (i * FONT_WIDTH + x) * BPP, ADDR_REG);
else
printf("\tstw %s, %d(%s)\n", BG_REG, (i * FONT_WIDTH + x) * BPP, ADDR_REG);
}
}
}
printf("#endif\n");
printf(".endm\n");
}
 
int main(int argc, char *argv[]) {
print_macro_init();
int i;
for (i = 1; i < argc; i++) {
printf("\n");
print_macro(argv[i]);
}
return 0;
}
/branches/network/boot/tools/ppc32/Makefile
0,0 → 1,8
debug: debug.o font-8x16.o
gcc -o debug debug.o font-8x16.o
 
debug.o: debug.c font-8x16.h
gcc -c -o debug.o debug.c
 
font-8x16.o: font-8x16.c font-8x16.h
gcc -c -o font-8x16.o font-8x16.c
/branches/network/boot/tools/ia64/vmaxlma.c
0,0 → 1,75
/*
* Swap VMA and LMA in ELF header.
*
* by Jakub Jermar <jermar@itbs.cz>
*
* GPL'ed, copyleft
*/
 
/*
* HP's IA-64 simulator Ski seems to confuse VMA and LMA in the ELF header.
* Instead of using LMA, Ski loads sections at their VMA addresses.
* This short program provides a workaround for this bug by simply
* swapping VMA and LMA in the ELF header of the executable.
*
* Note that after applying this workaround, you will be able to load
* ELF objects with different VMA and LMA in Ski, but the executable
* will become wronged for other potential uses.
*/
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/mman.h>
#include <unistd.h>
#include <fcntl.h>
 
void syntax(char *prg)
{
printf("%s ELF-file\n", prg);
exit(1);
}
 
void error(char *msg)
{
printf("Error: %s\n", msg);
exit(2);
}
 
#define ELF_VMA (0x50/sizeof(unsigned long long))
#define ELF_LMA (0x58/sizeof(unsigned long long))
#define ELF_ENTRY (0x18/sizeof(unsigned long long))
 
#define LENGTH 0x98
 
int main(int argc, char *argv[])
{
int fd;
unsigned long long vma, lma,entry;
unsigned long long *elf;
 
if (argc != 2)
syntax(argv[0]);
fd = open(argv[1], O_RDWR);
if (fd == -1)
error("open failed");
 
elf = mmap(NULL, LENGTH, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
if ((void *) elf == (void *) -1)
error("map failed");
lma = elf[ELF_LMA];
elf[ELF_VMA] = lma;
entry = lma;
elf[ELF_ENTRY] = entry;
if (munmap(elf, LENGTH) == -1)
error("munmap failed");
if (close(fd) == -1)
error("close failed");
return 0;
}
/branches/network/boot/genarch/ofw.h
74,7 → 74,7
typedef struct {
void *addr;
uint32_t size;
} macio_t;
} keyboard_t;
 
typedef struct {
uint32_t info;
122,8 → 122,7
extern int ofw_map(const void *phys, const void *virt, const int size, const int mode);
extern int ofw_memmap(memmap_t *map);
extern int ofw_screen(screen_t *screen);
extern int ofw_macio(macio_t *macio);
extern int ofw_setup_palette(void);
extern int ofw_keyboard(keyboard_t *keyboard);
extern void ofw_quiesce(void);
 
#endif
/branches/network/boot/genarch/balloc.h
31,7 → 31,7
 
#include <types.h>
 
#define BALLOC_MAX_SIZE (128 * 1024)
#define BALLOC_MAX_SIZE (1024 * 1024)
 
typedef struct {
uintptr_t base;
/branches/network/boot/genarch/ofw.c
25,7 → 25,7
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
 
#include <ofw.h>
#include <ofwarch.h>
#include <printf.h>
48,8 → 48,7
if (ofw_chosen == -1)
halt();
if (ofw_get_property(ofw_chosen, "stdout", &ofw_stdout,
sizeof(ofw_stdout)) <= 0)
if (ofw_get_property(ofw_chosen, "stdout", &ofw_stdout, sizeof(ofw_stdout)) <= 0)
ofw_stdout = 0;
ofw_root = ofw_find_device("/");
58,13 → 57,11
halt();
}
if (ofw_get_property(ofw_chosen, "mmu", &ofw_mmu,
sizeof(ofw_mmu)) <= 0) {
if (ofw_get_property(ofw_chosen, "mmu", &ofw_mmu, sizeof(ofw_mmu)) <= 0) {
puts("\r\nError: Unable to get mmu property, halted.\r\n");
halt();
}
if (ofw_get_property(ofw_chosen, "memory", &ofw_memory_prop,
sizeof(ofw_memory_prop)) <= 0) {
if (ofw_get_property(ofw_chosen, "memory", &ofw_memory_prop, sizeof(ofw_memory_prop)) <= 0) {
puts("\r\nError: Unable to get memory property, halted.\r\n");
halt();
}
84,18 → 81,14
 
/** Perform a call to OpenFirmware client interface.
*
* @param service String identifying the service requested.
* @param nargs Number of input arguments.
* @param nret Number of output arguments. This includes the return
* value.
* @param rets Buffer for output arguments or NULL. The buffer must
* accommodate nret - 1 items.
* @param service String identifying the service requested.
* @param nargs Number of input arguments.
* @param nret Number of output arguments. This includes the return value.
* @param rets Buffer for output arguments or NULL. The buffer must accommodate nret - 1 items.
*
* @return Return value returned by the client interface.
* @return Return value returned by the client interface.
*/
unsigned long
ofw_call(const char *service, const int nargs, const int nret, ofw_arg_t *rets,
...)
unsigned long ofw_call(const char *service, const int nargs, const int nret, ofw_arg_t *rets, ...)
{
va_list list;
ofw_args_t args;
126,9 → 119,7
return ofw_call("finddevice", 1, 1, NULL, name);
}
 
int
ofw_get_property(const phandle device, const char *name, void *buf,
const int buflen)
int ofw_get_property(const phandle device, const char *name, void *buf, const int buflen)
{
return ofw_call("getprop", 4, 1, NULL, device, name, buf, buflen);
}
153,8 → 144,7
unsigned int ret = 1;
if (ofw_get_property(device, "#address-cells", &ret, sizeof(ret)) <= 0)
if (ofw_get_property(ofw_root, "#address-cells", &ret,
sizeof(ret)) <= 0)
if (ofw_get_property(ofw_root, "#address-cells", &ret, sizeof(ret)) <= 0)
ret = OFW_ADDRESS_CELLS;
return ret;
166,8 → 156,7
unsigned int ret;
if (ofw_get_property(device, "#size-cells", &ret, sizeof(ret)) <= 0)
if (ofw_get_property(ofw_root, "#size-cells", &ret,
sizeof(ret)) <= 0)
if (ofw_get_property(ofw_root, "#size-cells", &ret, sizeof(ret)) <= 0)
ret = OFW_SIZE_CELLS;
return ret;
203,8 → 192,7
ofw_arg_t result[4];
int shift;
 
if (ofw_call("call-method", 4, 5, result, "translate", ofw_mmu,
virt, 0) != 0) {
if (ofw_call("call-method", 3, 5, result, "translate", ofw_mmu, virt) != 0) {
puts("Error: MMU method translate() failed, halting.\n");
halt();
}
224,8 → 212,7
{
ofw_arg_t retaddr;
 
if (ofw_call("call-method", 5, 2, &retaddr, "claim", ofw_mmu, 0, len,
virt) != 0) {
if (ofw_call("call-method", 5, 2, &retaddr, "claim", ofw_mmu, 0, len, virt) != 0) {
puts("Error: MMU method claim() failed, halting.\n");
halt();
}
282,8 → 269,8
phys_lo = (uintptr_t) phys;
}
 
return ofw_call("call-method", 7, 1, NULL, "map", ofw_mmu, mode, size,
virt, phys_hi, phys_lo);
return ofw_call("call-method", 7, 1, NULL, "map", ofw_mmu, mode, size, virt,
phys_hi, phys_lo);
}
 
/** Save OpenFirmware physical memory map.
294,12 → 281,10
*/
int ofw_memmap(memmap_t *map)
{
unsigned int ac = ofw_get_address_cells(ofw_memory) /
(sizeof(uintptr_t) / sizeof(uint32_t));
unsigned int sc = ofw_get_size_cells(ofw_memory) /
(sizeof(uintptr_t) / sizeof(uint32_t));
unsigned int ac = ofw_get_address_cells(ofw_memory);
unsigned int sc = ofw_get_size_cells(ofw_memory);
 
uintptr_t buf[((ac + sc) * MEMMAP_MAX_RECORDS)];
uint32_t buf[((ac + sc) * MEMMAP_MAX_RECORDS)];
int ret = ofw_get_property(ofw_memory, "reg", buf, sizeof(buf));
if (ret <= 0) /* ret is the number of written bytes */
return false;
307,22 → 292,11
int pos;
map->total = 0;
map->count = 0;
for (pos = 0; (pos < ret / sizeof(uintptr_t)) &&
for (pos = 0; (pos < ret / sizeof(uint32_t)) &&
(map->count < MEMMAP_MAX_RECORDS); pos += ac + sc) {
void *start = (void *) (buf[pos + ac - 1]);
void * start = (void *) ((uintptr_t) buf[pos + ac - 1]);
unsigned int size = buf[pos + ac + sc - 1];
 
/*
* This is a hot fix of the issue which occurs on machines
* where there are holes in the physical memory (such as
* SunBlade 1500). Should we detect a hole in the physical
* memory, we will ignore any memory detected behind
* the hole and pretend the hole does not exist.
*/
if ((map->count > 0) && (map->zones[map->count - 1].start +
map->zones[map->count - 1].size < start))
break;
 
if (size > 0) {
map->zones[map->count].start = start;
map->zones[map->count].size = size;
334,13 → 308,13
return true;
}
 
 
int ofw_screen(screen_t *screen)
{
char device_name[BUF_SIZE];
uint32_t virtaddr;
if (ofw_get_property(ofw_aliases, "screen", device_name,
sizeof(device_name)) <= 0)
if (ofw_get_property(ofw_aliases, "screen", device_name, sizeof(device_name)) <= 0)
return false;
phandle device = ofw_find_device(device_name);
347,78 → 321,27
if (device == -1)
return false;
if (ofw_get_property(device, "address", &virtaddr,
sizeof(virtaddr)) <= 0)
if (ofw_get_property(device, "address", &virtaddr, sizeof(virtaddr)) <= 0)
return false;
 
screen->addr = (void *) ((uintptr_t) virtaddr);
 
if (ofw_get_property(device, "width", &screen->width,
sizeof(screen->width)) <= 0)
if (ofw_get_property(device, "width", &screen->width, sizeof(screen->width)) <= 0)
return false;
if (ofw_get_property(device, "height", &screen->height,
sizeof(screen->height)) <= 0)
if (ofw_get_property(device, "height", &screen->height, sizeof(screen->height)) <= 0)
return false;
if (ofw_get_property(device, "depth", &screen->bpp,
sizeof(screen->bpp)) <= 0)
if (ofw_get_property(device, "depth", &screen->bpp, sizeof(screen->bpp)) <= 0)
return false;
if (ofw_get_property(device, "linebytes", &screen->scanline,
sizeof(screen->scanline)) <= 0)
if (ofw_get_property(device, "linebytes", &screen->scanline, sizeof(screen->scanline)) <= 0)
return false;
return true;
}
 
#define RED(i) (((i) >> 5) & ((1 << 3) - 1))
#define GREEN(i) (((i) >> 3) & ((1 << 2) - 1))
#define BLUE(i) ((i) & ((1 << 3) - 1))
#define CLIP(i) ((i) <= 255 ? (i) : 255)
 
 
/**
* Sets up the palette for the 8-bit color depth configuration so that the
* 3:2:3 color scheme can be used. Checks that setting the palette makes sense
* (appropriate nodes exist in the OBP tree and the color depth is not greater
* than 8).
*
* @return true if the palette has been set, false otherwise
*
*/
int ofw_setup_palette(void)
{
char device_name[BUF_SIZE];
/* resolve alias */
if (ofw_get_property(ofw_aliases, "screen", device_name,
sizeof(device_name)) <= 0)
return false;
/* for depth greater than 8 it makes no sense to set up the palette */
uint32_t depth;
phandle device = ofw_find_device(device_name);
if (device == -1)
return false;
if (ofw_get_property(device, "depth", &depth, sizeof(uint32_t)) <= 0)
return false;
if (depth != 8)
return false;
/* required in order to be able to make a method call */
ihandle screen = ofw_open(device_name);
if (screen == -1)
return false;
/* setup the palette so that the (inverted) 3:2:3 scheme is usable */
unsigned int i;
for (i = 0; i < 256; i++)
ofw_call("call-method", 6, 1, NULL, "color!", screen,
255 - i, CLIP(BLUE(i) * 37), GREEN(i) * 85, CLIP(RED(i) * 37));
return true;
}
 
void ofw_quiesce(void)
{
ofw_call("quiesce", 0, 0, NULL);
/branches/network/boot/genarch/ofw_tree.c
42,11 → 42,10
 
static ofw_tree_property_t *ofw_tree_properties_alloc(unsigned count)
{
return balloc(count * sizeof(ofw_tree_property_t),
sizeof(ofw_tree_property_t));
return balloc(count * sizeof(ofw_tree_property_t), sizeof(ofw_tree_property_t));
}
 
static void *ofw_tree_space_alloc(size_t size)
static void * ofw_tree_space_alloc(size_t size)
{
char *addr;
 
66,26 → 65,23
return addr;
}
 
/** Transfer information from one OpenFirmware node into its memory
* representation.
/** Transfer information from one OpenFirmware node into its memory representation.
*
* Transfer entire information from the OpenFirmware device tree 'current' node
* to its memory representation in 'current_node'. This function recursively
* processes all node's children. Node's peers are processed iteratively in
* order to prevent stack from overflowing.
* Transfer entire information from the OpenFirmware device tree 'current' node to
* its memory representation in 'current_node'. This function recursively processes
* all node's children. Node's peers are processed iteratively in order to prevent
* stack from overflowing.
*
* @param current_node Pointer to uninitialized ofw_tree_node structure that
* will become the memory represenation of 'current'.
* @param parent_node Parent ofw_tree_node structure or NULL in case of root
* node.
* @param current_node Pointer to uninitialized ofw_tree_node structure that will
* become the memory represenation of 'current'.
* @param parent_node Parent ofw_tree_node structure or NULL in case of root node.
* @param current OpenFirmware phandle to the current device tree node.
*/
static void ofw_tree_node_process(ofw_tree_node_t *current_node,
ofw_tree_node_t *parent_node, phandle current)
ofw_tree_node_t *parent_node, phandle current)
{
static char path[MAX_PATH_LEN + 1];
static char path[MAX_PATH_LEN+1];
static char name[OFW_TREE_PROPERTY_MAX_NAMELEN];
static char name2[OFW_TREE_PROPERTY_MAX_NAMELEN];
phandle peer;
phandle child;
size_t len;
125,6 → 121,7
memcpy(current_node->da_name, &path[i], len);
current_node->da_name[len] = '\0';
/*
* Recursively process the potential child node.
*/
134,8 → 131,7
child_node = ofw_tree_node_alloc();
if (child_node) {
ofw_tree_node_process(child_node, current_node,
child);
ofw_tree_node_process(child_node, current_node, child);
current_node->child = child_node;
}
}
144,11 → 140,9
* Count properties.
*/
name[0] = '\0';
while (ofw_next_property(current, name, name2) == 1) {
while (ofw_next_property(current, name, name) == 1)
current_node->properties++;
memcpy(name, name2, OFW_TREE_PROPERTY_MAX_NAMELEN);
}
 
if (!current_node->properties)
return;
155,23 → 149,20
/*
* Copy properties.
*/
current_node->property =
ofw_tree_properties_alloc(current_node->properties);
current_node->property = ofw_tree_properties_alloc(current_node->properties);
if (!current_node->property)
return;
name[0] = '\0';
for (i = 0; ofw_next_property(current, name, name2) == 1; i++) {
for (i = 0; ofw_next_property(current, name, name) == 1; i++) {
size_t size;
if (i == current_node->properties)
break;
memcpy(name, name2, OFW_TREE_PROPERTY_MAX_NAMELEN);
memcpy(current_node->property[i].name, name,
OFW_TREE_PROPERTY_MAX_NAMELEN);
current_node->property[i].name[
OFW_TREE_PROPERTY_MAX_NAMELEN] = '\0';
OFW_TREE_PROPERTY_MAX_NAMELEN);
current_node->property[i].name[OFW_TREE_PROPERTY_MAX_NAMELEN] = '\0';
 
size = ofw_get_proplen(current, name);
current_node->property[i].size = size;
183,8 → 174,7
/*
* Copy property value to memory node.
*/
(void) ofw_get_property(current, name,
buf, size);
(void) ofw_get_property(current, name, buf, size);
}
} else {
current_node->property[i].value = NULL;
191,8 → 181,7
}
}
 
/* Just in case we ran out of memory. */
current_node->properties = i;
current_node->properties = i; /* Just in case we ran out of memory. */
 
/*
* Iteratively process the next peer node.
225,33 → 214,15
 
/** Construct memory representation of OpenFirmware device tree.
*
* @return NULL on failure or pointer to the root node.
* @return NULL on failure or pointer to the root node.
*/
ofw_tree_node_t *ofw_tree_build(void)
{
ofw_tree_node_t *root;
phandle ssm_node;
ofw_tree_node_t *ssm;
root = ofw_tree_node_alloc();
if (root)
ofw_tree_node_process(root, NULL, ofw_root);
 
/*
* The firmware client interface does not automatically include the
* "ssm" node in the list of children of "/". A nasty yet working
* solution is to explicitly stick "ssm" to the OFW tree.
*/
ssm_node = ofw_find_device("/ssm@0,0");
if (ssm_node != -1) {
ssm = ofw_tree_node_alloc();
if (ssm) {
ofw_tree_node_process(ssm, root,
ofw_find_device("/ssm@0,0"));
ssm->peer = root->child;
root->child = ssm;
}
}
return root;
}
/branches/network/boot/generic/macros.h
File deleted
/branches/network/boot/generic/align.h
26,7 → 26,7
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
 
/** @addtogroup generic
/** @addtogroup generic
* @{
*/
/** @file
/branches/network/boot/generic/printf.c
83,16 → 83,14
*/
static void print_number(const unative_t num, const unsigned int base)
{
int val = num;
 
/* This is enough even for base 2. */
char d[sizeof(unative_t) * 8 + 1];
int val = num;
char d[sizeof(unative_t) * 8 + 1]; /* this is good enough even for base == 2 */
int i = sizeof(unative_t) * 8 - 1;
 
do {
d[i--] = digits[val % base];
} while (val /= base);
 
d[sizeof(unative_t) * 8] = 0;
puts(&d[i + 1]);
}
158,89 → 156,89
int i = 0;
va_list ap;
char c;
 
va_start(ap, fmt);
 
while ((c = fmt[i++])) {
switch (c) {
 
/* control character */
case '%':
 
switch (c = fmt[i++]) {
 
/* percentile itself */
/* control character */
case '%':
break;
 
/*
* String and character conversions.
*/
case 's':
puts(va_arg(ap, char_ptr));
goto loop;
 
case 'c':
c = (char) va_arg(ap, int);
break;
 
/*
* Hexadecimal conversions with fixed width.
*/
case 'P':
puts("0x");
case 'p':
print_fixed_hex(va_arg(ap, unative_t),
sizeof(unative_t));
goto loop;
 
case 'Q':
puts("0x");
case 'q':
print_fixed_hex(va_arg(ap, uint64_t), INT64);
goto loop;
 
case 'L':
puts("0x");
case 'l':
print_fixed_hex(va_arg(ap, unative_t), INT32);
goto loop;
 
case 'W':
puts("0x");
case 'w':
print_fixed_hex(va_arg(ap, unative_t), INT16);
goto loop;
 
case 'B':
puts("0x");
case 'b':
print_fixed_hex(va_arg(ap, unative_t), INT8);
goto loop;
 
/*
* Decimal and hexadecimal conversions.
*/
case 'd':
print_number(va_arg(ap, unative_t), 10);
goto loop;
case 'X':
puts("0x");
case 'x':
print_number(va_arg(ap, unative_t), 16);
goto loop;
/*
* Bad formatting.
*/
switch (c = fmt[i++]) {
/* percentile itself */
case '%':
break;
/*
* String and character conversions.
*/
case 's':
puts(va_arg(ap, char_ptr));
goto loop;
case 'c':
c = (char) va_arg(ap, int);
break;
/*
* Hexadecimal conversions with fixed width.
*/
case 'P':
puts("0x");
case 'p':
print_fixed_hex(va_arg(ap, unative_t), sizeof(unative_t));
goto loop;
case 'Q':
puts("0x");
case 'q':
print_fixed_hex(va_arg(ap, uint64_t), INT64);
goto loop;
case 'L':
puts("0x");
case 'l':
print_fixed_hex(va_arg(ap, unative_t), INT32);
goto loop;
case 'W':
puts("0x");
case 'w':
print_fixed_hex(va_arg(ap, unative_t), INT16);
goto loop;
case 'B':
puts("0x");
case 'b':
print_fixed_hex(va_arg(ap, unative_t), INT8);
goto loop;
/*
* Decimal and hexadecimal conversions.
*/
case 'd':
print_number(va_arg(ap, unative_t), 10);
goto loop;
case 'X':
puts("0x");
case 'x':
print_number(va_arg(ap, unative_t), 16);
goto loop;
/*
* Bad formatting.
*/
default:
goto out;
}
default:
goto out;
}
 
default:
write(&c, 1);
write(&c, 1);
}
loop:
;
}
/branches/network/boot/generic/string.c
39,9 → 39,9
 
/** Return number of characters in a string.
*
* @param str NULL terminated string.
* @param str NULL terminated string.
*
* @return Number of characters in str.
* @return Number of characters in str.
*/
size_t strlen(const char *str)
{
53,17 → 53,16
return i;
}
 
/** Compare two NULL terminated strings.
/** Compare two NULL terminated strings
*
* Do a char-by-char comparison of two NULL terminated strings.
* The strings are considered equal iff they consist of the same
* characters on the minimum of their lengths.
*
* @param src First string to compare.
* @param dst Second string to compare.
* @param src First string to compare.
* @param dst Second string to compare.
*
* @return 0 if the strings are equal, -1 if first is smaller,
* 1 if second smaller.
* @return 0 if the strings are equal, -1 if first is smaller, 1 if second smaller.
*
*/
int strcmp(const char *src, const char *dst)
82,7 → 81,7
}
 
 
/** Compare two NULL terminated strings.
/** Compare two NULL terminated strings
*
* Do a char-by-char comparison of two NULL terminated strings.
* The strings are considered equal iff they consist of the same
89,12 → 88,11
* characters on the minimum of their lengths and specified maximal
* length.
*
* @param src First string to compare.
* @param dst Second string to compare.
* @param len Maximal length for comparison.
* @param src First string to compare.
* @param dst Second string to compare.
* @param len Maximal length for comparison.
*
* @return 0 if the strings are equal, -1 if first is smaller,
* 1 if second smaller.
* @return 0 if the strings are equal, -1 if first is smaller, 1 if second smaller.
*
*/
int strncmp(const char *src, const char *dst, size_t len)
120,9 → 118,9
* If 'src' is shorter than 'len', '\0' is inserted behind the
* last copied character.
*
* @param src Source string.
* @param dest Destination buffer.
* @param len Size of destination buffer.
* @param src Source string.
* @param dest Destination buffer.
* @param len Size of destination buffer.
*/
void strncpy(char *dest, const char *src, size_t len)
{
134,13 → 132,13
dest[i-1] = '\0';
}
 
/** Convert ascii representation to unative_t.
/** Convert ascii representation to unative_t
*
* Supports 0x for hexa & 0 for octal notation.
* Does not check for overflows, does not support negative numbers
*
* @param text Textual representation of number.
* @return Converted number or 0 if no valid number found.
* @param text Textual representation of number
* @return Converted number or 0 if no valid number ofund
*/
unative_t atoi(const char *text)
{
154,9 → 152,9
base = 8;
 
while (*text) {
if (base != 16 &&
((*text >= 'A' && *text <= 'F') ||
(*text >='a' && *text <='f')))
if (base != 16 && \
((*text >= 'A' && *text <= 'F' )
|| (*text >='a' && *text <='f')))
break;
if (base == 8 && *text >='8')
break;
178,28 → 176,5
return result;
}
 
/** Move piece of memory to another, possibly overlapping, location.
*
* @param dst Destination address.
* @param src Source address.
* @param len Number of bytes to move.
*
* @return Destination address.
*/
void *memmove(void *dst, const void *src, size_t len)
{
char *d = dst;
const char *s = src;
if (s < d) {
while (len--)
*(d + len) = *(s + len);
} else {
while (len--)
*d++ = *s++;
}
return dst;
}
 
/** @}
*/
/branches/network/boot/generic/string.h
42,7 → 42,6
extern int strncmp(const char *src, const char *dst, size_t len);
extern void strncpy(char *dest, const char *src, size_t len);
extern unative_t atoi(const char *text);
extern void *memmove(void *dst, const void *src, size_t len);
 
#endif
 
/branches/network/boot/Makefile
29,8 → 29,7
## Include configuration
#
 
-include ../Makefile.config
-include ../config.defs
-include Makefile.config
 
## Paths
#
39,11 → 38,31
KERNELDIR = $(BASE)/kernel
USPACEDIR = $(BASE)/uspace
 
.PHONY: all build clean generic_clean
ifeq ($(CONFIG_DEBUG),y)
DEFS += -DCONFIG_DEBUG
endif
 
all: ../Makefile.config ../config.h ../config.defs build
ifeq ($(CONFIG_BAT),y)
DEFS += -DCONFIG_BAT
endif
 
-include arch/$(BARCH)/Makefile.inc
ifeq ($(CONFIG_SMP),y)
DEFS += -DCONFIG_SMP
endif
 
.PHONY: all build config distclean clean generic_clean
 
all:
../tools/config.py boot.config default $(ARCH) $(COMPILER) $(CONFIG_DEBUG) $(IMAGE)
$(MAKE) -C . build
 
-include arch/$(ARCH)/Makefile.inc
 
config:
../tools/config.py boot.config
 
distclean: clean
-rm Makefile.config
 
generic_clean:
-rm generic/*.o genarch/*.o