	.text
	.globl	_start
	.type	_start,@function
_start:	
	lis	30,ub_gd@h
	ori	30,30,ub_gd@l
	stw	29,0(30)

	lis	31,0x100000@h
	ori	31,31,0x100000@l

	mr	1,31

	b	main

	.globl	_intr
	.type	_intr,@function
_intr:
	mtsprg2	1

	lis	1,0x200000@h
	ori	1,1,0x200000@l
	stwu	1,-160(1)

	stmw	2,8(1)
	stw	0,4(1)
	mfsprg2	2
	stw	2,0(1)

	mflr	2
	stw	2,128(1)
	mfcr	2
	stw	2,132(1)
	mfctr	2
	stw	2,136(1)
	mfxer	2
	stw	2,140(1)
	mfsrr0	4
	stw	4,144(1)
	mfsrr1	5
	stw	5,148(1)

	bl	1f
1:	mflr	3

	lis	2,defhandler@h
	ori	2,2,defhandler@l
	mtlr	2
	blrl

	lwz	2,128(1)
	mtlr	2
	lwz	2,132(1)
	mtcr	2
	lwz	2,136(1)
	mtctr	2
	lwz	2,140(1)
	mtxer	2
	lwz	2,144(1)
	mtsrr0	2
	lwz	2,148(1)
	andi.	2,2,0xffff
	mtsrr1	2

	lmw	2,8(1)
	lwz	0,4(1)
	lwz	1,0(1)

	sync
	isync
	rfi
