Index: arch/amd64/Makefile.inc
===================================================================
--- arch/amd64/Makefile.inc	(revision 1141c1acbca81894d031f82ef77daf4f75d1b87a)
+++ arch/amd64/Makefile.inc	(revision 1141c1acbca81894d031f82ef77daf4f75d1b87a)
@@ -0,0 +1,19 @@
+AMD64_TARGET=amd64-linux-gnu
+AMD64_CC_DIR=/usr/local/amd64/bin
+AMD64_BINUTILS_DIR=/usr/local/amd64/bin
+
+CC=$(AMD64_CC_DIR)/$(AMD64_TARGET)-gcc
+AS=$(AMD64_BINUTILS_DIR)/$(AMD64_TARGET)-as
+LD=$(AMD64_BINUTILS_DIR)/$(AMD64_TARGET)-ld
+
+#ASFLAGS=--64
+
+DEFS=-DARCH=$(ARCH)
+CPPFLAGS=$(DEFS) -nostdinc -I../include
+CFLAGS=$(CPPFLAGS) -nostdlib -fno-builtin -fno-unwind-tables -Wmissing-prototypes -Werror -O3 -march=opteron -m64 -mcmodel=kernel
+LFLAGS=-M -T ../arch/amd64/_link.ld
+
+arch_sources = arch/dummy.s \
+	arch/fpu_context.c \
+	arch/putchar.c \
+	arch/boot/boot.S
Index: arch/amd64/_link.ld
===================================================================
--- arch/amd64/_link.ld	(revision 1141c1acbca81894d031f82ef77daf4f75d1b87a)
+++ arch/amd64/_link.ld	(revision 1141c1acbca81894d031f82ef77daf4f75d1b87a)
@@ -0,0 +1,43 @@
+/** IA-32 linker script
+ *  
+ * umapped section:
+ * 	kernel text
+ * 	kernel data
+ * mapped section:
+ *	kernel text
+ *	kernel data 
+ */
+
+OUTPUT_FORMAT(binary)
+ENTRY(kernel_image_start)
+
+SECTIONS {
+	.unmapped 0x8000: AT (0x8000) {
+		unmapped_ktext_start = .;
+		*(K_TEXT_START);
+		*(K_TEXT_START_2);
+		unmapped_ktext_end = .;
+		unmapped_kdata_start = .;
+		*(K_DATA_START);
+		unmapped_kdata_end = .;
+	}
+
+	.mapped (-0x80000000+SIZEOF(.unmapped)) : AT (0x8000+SIZEOF(.unmapped)) { 
+		ktext_start = .;
+		*(.text);
+		ktext_end = .;
+
+		kdata_start = .;
+		*(.data);		/* initialized data */
+		*(.rodata*);		/* string literals */
+		*(COMMON);		/* global variables */
+		*(.bss);		/* uninitialized static variables */
+		*(K_DATA_END);
+		kdata_end = .;
+	}
+
+	_hardcoded_ktext_size = ktext_end - ktext_start + (unmapped_ktext_end - unmapped_ktext_start);
+	_hardcoded_kdata_size = kdata_end - kdata_start + (unmapped_kdata_end - unmapped_kdata_start);
+	_hardcoded_load_address = -0x80008000;
+
+}
Index: arch/amd64/boot/boot.S
===================================================================
--- arch/amd64/boot/boot.S	(revision 1141c1acbca81894d031f82ef77daf4f75d1b87a)
+++ arch/amd64/boot/boot.S	(revision 1141c1acbca81894d031f82ef77daf4f75d1b87a)
@@ -0,0 +1,151 @@
+#
+# Copyright (C) 2001-2004 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.
+#
+
+# This is a very primitive boot.s
+
+# It assumes that the first sector of the kernel image is found
+# on head 0, track 0, sector 2 of the first floppy drive (1440K).
+# Next kernel sectors follow on disk sector 3, 4, ...
+#
+
+
+# KERNEL_SIZE is passed from the outside to the preprocessor
+#if (KERNEL_SIZE%512>0)
+#define TAIL		1
+#else
+#define	TAIL		0
+#endif
+
+#define SECTORS		(KERNEL_SIZE/512+TAIL)
+
+.text
+.global _start_0x7c00
+
+.code16
+_start_0x7c00:
+	xorw %ax,%ax		# reset, %al will be used below
+	movw %ax,%dx		# fd0, %dh and %dl will be used below
+	movw %dx,%ds
+
+	movw %dx,%ss		# initialize stack
+	movw $stack,%sp
+
+	int $0x13		# reset floppy
+	jc stop_trying
+
+	movw %dx,%ds
+	movw %dx,%ss
+	movw $0x7c00,%sp
+	movw $0xffe0,%si	# after next increment, %si will become 0x0000
+	movw %si,%es
+	movw $0x8000,%bx	# at %es:%bx
+	
+	movl $(SECTORS),%edi
+	
+read_next:
+	test %edi,%edi
+	jnz read_sectors
+
+	movb $12,%al
+	movw $0x3f2,%dx
+	outb %al,%dx
+
+	movb $('$'),%al
+	call echo_mark
+	
+	jmpl $0,$0x8000
+
+read_sectors:
+	movb $('.'),%al	
+	call echo_mark
+
+	decl %edi
+	incw logical_sector
+	movw %es,%si
+	addw $0x20,%si
+	movw %si,%es
+
+	movw logical_sector,%ax
+	divb sectors
+
+	movb %ah,%cl
+	incb %cl			# sector
+
+	movb %al,%ch
+	shrb $1,%ch			# track
+
+	movb %al,%dh
+	andb $1,%dh			# head
+
+	movw $0x0201,%ax
+	int $0x13
+	jnc read_next
+
+	movb $('R'),%al
+	call echo_mark
+
+	xorw %ax,%ax			# try to reset
+	movw %ax,%dx			# fd0
+	int $0x13
+	jnc read_next
+
+stop_trying:
+	movb $('F'),%al	
+	call echo_mark
+
+	cli
+	hlt
+
+CH=4
+echo_mark:
+	push %bp
+	movw %sp,%bp
+	pusha
+
+	movb $0xe,%ah
+	movb $7,%bl
+	int $0x10
+
+	popa
+	pop %bp
+	ret
+
+# current logical sector from the beginning of the disk
+logical_sector:
+	.word 0
+
+# number of sectors per track on 1440 floppy
+sectors:
+	.byte 18
+
+# boot floppy signature
+.org 0x1fe
+boot_floppy_signature:
+	.byte 0x55
+	.byte 0xaa
+stack:
Index: arch/amd64/boot/boot.ld
===================================================================
--- arch/amd64/boot/boot.ld	(revision 1141c1acbca81894d031f82ef77daf4f75d1b87a)
+++ arch/amd64/boot/boot.ld	(revision 1141c1acbca81894d031f82ef77daf4f75d1b87a)
@@ -0,0 +1,4 @@
+OUTPUT_FORMAT(binary)
+SECTIONS {
+	.text 0x7c00 : AT (0x0) { *(.text) }
+}
Index: arch/amd64/include/arg.h
===================================================================
--- arch/amd64/include/arg.h	(revision 1141c1acbca81894d031f82ef77daf4f75d1b87a)
+++ arch/amd64/include/arg.h	(revision 1141c1acbca81894d031f82ef77daf4f75d1b87a)
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2005 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.
+ */
+
+#ifndef __amd64_ARG_H__
+#define __amd64_ARG_H__
+
+#include <stdarg.h>
+
+#endif
Index: arch/amd64/include/atomic.h
===================================================================
--- arch/amd64/include/atomic.h	(revision 1141c1acbca81894d031f82ef77daf4f75d1b87a)
+++ arch/amd64/include/atomic.h	(revision 1141c1acbca81894d031f82ef77daf4f75d1b87a)
@@ -0,0 +1,45 @@
+/*
+ * 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 __amd64_ATOMIC_H__
+#define __amd64_ATOMIC_H__
+
+/*
+ * TODO: these are just placeholders for real implementations of atomic_inc and atomic_dec.
+ * WARNING: the following functions cause the code to be preemption-unsafe !!!
+ */
+
+static inline atomic_inc(volatile int *val) {
+	*val++;
+}
+
+static inline atomic_dec(volatile int *val) {
+	*val--;
+}
+
+#endif
Index: arch/amd64/include/barrier.h
===================================================================
--- arch/amd64/include/barrier.h	(revision 1141c1acbca81894d031f82ef77daf4f75d1b87a)
+++ arch/amd64/include/barrier.h	(revision 1141c1acbca81894d031f82ef77daf4f75d1b87a)
@@ -0,0 +1,35 @@
+/*
+ * 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 __ppc_BARRIER_H__
+#define __ppc_BARRIER_H__
+
+#define CS_ENTER_BARRIER()	__asm__ volatile ("" ::: "memory")
+#define CS_LEAVE_BARRIER()	__asm__ volatile ("" ::: "memory")
+
+#endif
Index: arch/amd64/include/context.h
===================================================================
--- arch/amd64/include/context.h	(revision 1141c1acbca81894d031f82ef77daf4f75d1b87a)
+++ arch/amd64/include/context.h	(revision 1141c1acbca81894d031f82ef77daf4f75d1b87a)
@@ -0,0 +1,43 @@
+/*
+ * 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 __amd64_CONTEXT_H__
+#define __amd64_CONTEXT_H__
+
+#include <arch/types.h>
+
+#define SP_DELTA	0
+
+struct context {
+	__u64 sp;
+	__u64 pc;
+	
+	pri_t pri;
+} __attribute__ ((packed));
+
+#endif
Index: arch/amd64/include/cpu.h
===================================================================
--- arch/amd64/include/cpu.h	(revision 1141c1acbca81894d031f82ef77daf4f75d1b87a)
+++ arch/amd64/include/cpu.h	(revision 1141c1acbca81894d031f82ef77daf4f75d1b87a)
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2001-2004 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 __amd64_CPU_H__
+#define __amd64_CPU_H__
+
+#include <config.h>
+#include <proc/thread.h>
+#include <typedefs.h>
+#include <arch/pm.h>
+#include <arch/asm.h>
+
+#ifdef __SMP__
+#define CPU_ID_ARCH	(read_dr0())
+#else
+#define CPU_ID_ARCH	(0)
+#endif
+
+struct cpu_arch {
+	int vendor;
+	int family;
+	int model;
+	int stepping;
+	struct tss *tss;
+};
+
+
+void set_TS_flag(void);
+void reset_TS_flag(void);
+
+#endif
Index: arch/amd64/include/faddr.h
===================================================================
--- arch/amd64/include/faddr.h	(revision 1141c1acbca81894d031f82ef77daf4f75d1b87a)
+++ arch/amd64/include/faddr.h	(revision 1141c1acbca81894d031f82ef77daf4f75d1b87a)
@@ -0,0 +1,36 @@
+/*
+ * 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 __amd64_FADDR_H__
+#define __amd64_FADDR_H__
+
+#include <arch/types.h>
+
+#define FADDR(fptr)		((__address) (fptr))
+
+#endif
Index: arch/amd64/include/fpu_context.h
===================================================================
--- arch/amd64/include/fpu_context.h	(revision 1141c1acbca81894d031f82ef77daf4f75d1b87a)
+++ arch/amd64/include/fpu_context.h	(revision 1141c1acbca81894d031f82ef77daf4f75d1b87a)
@@ -0,0 +1,37 @@
+/*
+ * 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 __amd64_FPU_CONTEXT_H__
+#define __amd64_FPU_CONTEXT_H__
+
+#include <arch/types.h>
+
+struct fpu_context {
+};
+
+#endif
Index: arch/amd64/include/interrupt.h
===================================================================
--- arch/amd64/include/interrupt.h	(revision 1141c1acbca81894d031f82ef77daf4f75d1b87a)
+++ arch/amd64/include/interrupt.h	(revision 1141c1acbca81894d031f82ef77daf4f75d1b87a)
@@ -0,0 +1,34 @@
+/*
+ * 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 __INTERRUPT_H__
+#define __INTERRUPT_H__
+
+extern void interrupt(void);
+
+#endif
Index: arch/amd64/include/mm/frame.h
===================================================================
--- arch/amd64/include/mm/frame.h	(revision 1141c1acbca81894d031f82ef77daf4f75d1b87a)
+++ arch/amd64/include/mm/frame.h	(revision 1141c1acbca81894d031f82ef77daf4f75d1b87a)
@@ -0,0 +1,36 @@
+/*
+ * 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 __amd64_FRAME_H__
+#define __amd64_FRAME_H__
+
+#define FRAME_SIZE		4096
+
+extern void frame_arch_init(void);
+
+#endif
Index: arch/amd64/include/mm/memory_init.h
===================================================================
--- arch/amd64/include/mm/memory_init.h	(revision 1141c1acbca81894d031f82ef77daf4f75d1b87a)
+++ arch/amd64/include/mm/memory_init.h	(revision 1141c1acbca81894d031f82ef77daf4f75d1b87a)
@@ -0,0 +1,36 @@
+/*
+ * 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 __amd64_MEMORY_INIT_H__
+#define __amd64_MEMORY_INIT_H__
+
+#include <config.h>
+
+size_t get_memory_size(void);
+
+#endif
Index: arch/amd64/include/mm/page.h
===================================================================
--- arch/amd64/include/mm/page.h	(revision 1141c1acbca81894d031f82ef77daf4f75d1b87a)
+++ arch/amd64/include/mm/page.h	(revision 1141c1acbca81894d031f82ef77daf4f75d1b87a)
@@ -0,0 +1,73 @@
+/*
+ * 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 __amd64_PAGE_H__
+#define __amd64_PAGE_H__
+
+#include <mm/page.h>
+#include <arch/mm/frame.h>
+#include <arch/types.h>
+
+#define PAGE_SIZE	FRAME_SIZE
+
+#define KA2PA(x)	((x) - 0x80000000)
+#define PA2KA(x)	((x) + 0x80000000)
+
+#define PTL0_INDEX_ARCH(vaddr)		0
+#define PTL1_INDEX_ARCH(vaddr)		0
+#define PTL2_INDEX_ARCH(vaddr)		0
+#define PTL3_INDEX_ARCH(vaddr)		0
+
+#define GET_PTL0_ADDRESS_ARCH()		0
+#define SET_PTL0_ADDRESS_ARCH(ptl0)
+
+#define GET_PTL1_ADDRESS_ARCH(ptl0, i)		((pte_t *) 0)
+#define GET_PTL2_ADDRESS_ARCH(ptl1, i)		((pte_t *) 0)
+#define GET_PTL3_ADDRESS_ARCH(ptl2, i)		((pte_t *) 0)
+#define GET_FRAME_ADDRESS_ARCH(ptl3, i)		((pte_t *) 0)
+
+#define SET_PTL1_ADDRESS_ARCH(ptl0, i, a)
+#define SET_PTL2_ADDRESS_ARCH(ptl1, i, a)
+#define SET_PTL3_ADDRESS_ARCH(ptl2, i, a)
+#define SET_FRAME_ADDRESS_ARCH(ptl3, i, a)
+
+#define GET_PTL1_FLAGS_ARCH(ptl0, i)		0
+#define GET_PTL2_FLAGS_ARCH(ptl1, i)		0
+#define GET_PTL3_FLAGS_ARCH(ptl2, i)		0
+#define GET_FRAME_FLAGS_ARCH(ptl3, i)		0
+
+#define SET_PTL1_FLAGS_ARCH(ptl0, i, x)
+#define SET_PTL2_FLAGS_ARCH(ptl1, i, x)
+#define SET_PTL3_FLAGS_ARCH(ptl2, i, x)
+#define SET_FRAME_FLAGS_ARCH(ptl3, i, x)
+
+extern void page_arch_init(void);
+
+typedef __u32 pte_t;
+
+#endif
Index: arch/amd64/include/mm/vm.h
===================================================================
--- arch/amd64/include/mm/vm.h	(revision 1141c1acbca81894d031f82ef77daf4f75d1b87a)
+++ arch/amd64/include/mm/vm.h	(revision 1141c1acbca81894d031f82ef77daf4f75d1b87a)
@@ -0,0 +1,43 @@
+/*
+ * 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 __amd64_VM_H__
+#define __amd64_VM_H__
+
+#include <arch/types.h>
+
+#define KERNEL_ADDRESS_SPACE_START_ARCH		(__address) 0x80000000
+#define KERNEL_ADDRESS_SPACE_END_ARCH		(__address) 0xffffffff	
+#define USER_ADDRESS_SPACE_START_ARCH		(__address) 0x00000000
+#define USER_ADDRESS_SPACE_END_ARCH		(__address) 0x7fffffff
+
+#define UTEXT_ADDRESS_ARCH	0x00001000
+#define USTACK_ADDRESS_ARCH	(0x7fffffff-(PAGE_SIZE-1))
+#define UDATA_ADDRESS_ARCH	0x21000000
+
+#endif
Index: arch/amd64/include/thread.h
===================================================================
--- arch/amd64/include/thread.h	(revision 1141c1acbca81894d031f82ef77daf4f75d1b87a)
+++ arch/amd64/include/thread.h	(revision 1141c1acbca81894d031f82ef77daf4f75d1b87a)
@@ -0,0 +1,34 @@
+/*
+ * 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 __amd64_THREAD_H__
+#define __amd64_THREAD_H__
+
+#define ARCH_THREAD_DATA
+
+#endif
Index: arch/amd64/include/types.h
===================================================================
--- arch/amd64/include/types.h	(revision 1141c1acbca81894d031f82ef77daf4f75d1b87a)
+++ arch/amd64/include/types.h	(revision 1141c1acbca81894d031f82ef77daf4f75d1b87a)
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2001-2004 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 __TYPES_H__
+#define __TYPES_H__
+
+#define NULL 0
+
+typedef signed char __s8;
+
+typedef unsigned char __u8;
+typedef unsigned short __u16;
+typedef unsigned int __u32;
+typedef long long __u64;
+
+typedef __u64 __address;
+
+typedef __u32 pri_t;
+
+typedef __u64 __native;
+
+#endif
Index: arch/amd64/src/boot/boot.S
===================================================================
--- arch/amd64/src/boot/boot.S	(revision 1141c1acbca81894d031f82ef77daf4f75d1b87a)
+++ arch/amd64/src/boot/boot.S	(revision 1141c1acbca81894d031f82ef77daf4f75d1b87a)
@@ -0,0 +1,51 @@
+#
+# Copyright (C) 2001-2004 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.
+#
+
+.section K_TEXT_START
+.global kernel_image_start
+
+.code16
+#
+# This is where we require any SPARTAN-kernel-compatible boot loader
+# to pass control in real mode.
+#
+# Protected mode tables are statically initialised during compile
+# time. So we can just load the respective table registers and
+# switch to protected mode.
+#
+kernel_image_start:
+
+meeting_point:
+.code32
+
+
+.section K_DATA_START
+
+.align 4096
+page_directory:
+	.space 4096, 0
Index: arch/amd64/src/dummy.s
===================================================================
--- arch/amd64/src/dummy.s	(revision 1141c1acbca81894d031f82ef77daf4f75d1b87a)
+++ arch/amd64/src/dummy.s	(revision 1141c1acbca81894d031f82ef77daf4f75d1b87a)
@@ -0,0 +1,83 @@
+#
+# Copyright (C) 2005 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.
+#
+
+.text
+
+.global cpu_priority_high
+.global cpu_priority_low
+.global cpu_priority_read
+.global cpu_priority_restore
+.global memsetb
+.global context_save
+.global context_restore
+.global userspace
+.global before_thread_runs_arch
+.global panic_printf
+.global cpu_identify
+.global cpu_arch_init
+.global cpu_sleep
+.global cpu_print_report
+.global get_memory_size
+.global arch_pre_mm_init
+.global arch_post_mm_init
+.global arch_late_init
+.global calibrate_delay_loop
+.global asm_delay_loop
+.global cpu_halt
+.global page_arch_init
+.global frame_arch_init
+.global dummy
+
+cpu_priority_high:
+cpu_priority_low:
+cpu_priority_restore:
+cpu_priority_read:
+memsetb:
+context_save:
+context_restore:
+before_thread_runs_arch:
+userspace:
+calibrate_delay_loop:
+asm_delay_loop:
+panic_printf:
+cpu_identify:
+cpu_arch_init:
+cpu_sleep:
+cpu_print_report:
+get_memory_size:
+arch_pre_mm_init:
+arch_post_mm_init:
+arch_late_init:
+calibrate_delay_loop:
+cpu_halt:
+page_arch_init:
+frame_arch_init:
+
+dummy:
+0:
+	ret
Index: arch/amd64/src/fpu_context.c
===================================================================
--- arch/amd64/src/fpu_context.c	(revision 1141c1acbca81894d031f82ef77daf4f75d1b87a)
+++ arch/amd64/src/fpu_context.c	(revision 1141c1acbca81894d031f82ef77daf4f75d1b87a)
@@ -0,0 +1,49 @@
+/*
+ * Copyright (C) 2005 Jakub Vana
+ * 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 <fpu_context.h>
+
+void fpu_context_save(fpu_context_t *fctx)
+{
+}
+
+
+void fpu_context_restore(fpu_context_t *fctx)
+{
+}
+
+
+void fpu_lazy_context_save(fpu_context_t *fctx)
+{
+}
+
+void fpu_lazy_context_restore(fpu_context_t *fctx)
+{
+
+}
Index: arch/amd64/src/putchar.c
===================================================================
--- arch/amd64/src/putchar.c	(revision 1141c1acbca81894d031f82ef77daf4f75d1b87a)
+++ arch/amd64/src/putchar.c	(revision 1141c1acbca81894d031f82ef77daf4f75d1b87a)
@@ -0,0 +1,35 @@
+/*
+ * 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 <putchar.h>
+#include <arch/types.h>
+
+
+void putchar(const char ch)
+{
+}
Index: src/build.amd64
===================================================================
--- src/build.amd64	(revision 1141c1acbca81894d031f82ef77daf4f75d1b87a)
+++ src/build.amd64	(revision 1141c1acbca81894d031f82ef77daf4f75d1b87a)
@@ -0,0 +1,3 @@
+#! /bin/sh
+
+make all ARCH=amd64
Index: src/clean.amd64
===================================================================
--- src/clean.amd64	(revision 1141c1acbca81894d031f82ef77daf4f75d1b87a)
+++ src/clean.amd64	(revision 1141c1acbca81894d031f82ef77daf4f75d1b87a)
@@ -0,0 +1,3 @@
+#! /bin/sh
+
+make dist-clean ARCH=amd64
