















MEMORY	{
	DF_stack:	origin	= 0xD0000000,	length	=   0x01000
	KV_loadsite:    origin  = 0xD0010000,   length  =  0x3f0000

	KV_sysseg:	origin  = 0xD1000000,	length 	=  0x6400000
	KV_windows:	origin	= 0xD7400000,	length  =  0x100000
	KV_pioseg:	origin  = 0xD7800000,	length 	=  0x400000

	UV_ublock:	origin  = 0xe0000000,	length =    0x20000
	UV_stack:       origin  = 0x7ffffffc,   length =    0x00000
	}
SECTIONS {
	BKI (COPY): { . += 2; } = 2	

	
	dft_stack (NOLOAD):
		{
		df_stack	=	.;
		} > DF_stack

	page0 0xD0000000 (NOLOAD):
		{
		bootinfo = .+0x800;
		kspt0 = .+0x1000;
		kpd0 = .+0x2000;
		}

	.text:	{
		stext = .;
		../pack.d/kernel/start.o(.text)
		} > KV_loadsite

	.data ALIGN(0x1000) :	{
		sdata = .;
		../pack.d/kernel/locore.o(.data)
		} > KV_loadsite

	.bss ALIGN(0x1000) :	{
		sbss = .;

		vm_dmabuffer = .;	
		. += 0x2400;
		vm_dma_end = .;

		../pack.d/kernel/locore.o(.bss)
		} > KV_loadsite

	kv_sysseg (NOLOAD):
		{
		syssegs		=	.;
		} > KV_sysseg

	kv_windows (NOLOAD):
		{
		win_ublk	=	.;
		win_ublk2	=	.+0x80000;
		} > KV_windows

	kv_pioseg (NOLOAD):
		{
		piosegs		=	.;
		} > KV_pioseg


	uv_stack (NOLOAD):
		{
		userstack	=	.;
		} > UV_stack

	uv_ublock (NOLOAD):
		{
		u		=	.;
		} > UV_ublock

	}
