/*
 * Copyright (C) 2016-2017 FAUmachine Team <info@faumachine.org>.
 * This program is free software. You can redistribute it and/or modify it
 * under the terms of the GNU General Public License, either version 2 of
 * the License, or (at your option) any later version. See COPYING.
 */

#define CHIP_(x)	chip_intel_80686_klamath_int_ ## x

/* Configuration */
#define CONFIG_HZ			(233*1000*1000)
#define CONFIG_CPU			80686
#define CONFIG_FPU			1

#define CONFIG_CPU_VIRT_BITS		32
#define CONFIG_CPU_PHYS_BITS		32 /* Should be 36 - FIXME */

#define CONFIG_CPU_SOCKET_HOST

#define CONFIG_CPU_CACHE_LINE_SIZE	32

#define CONFIG_CPU_L1I_SIZE		(16*1024)
#define CONFIG_CPU_L1I_ASSOC		4
#define CONFIG_CPU_L1D_SIZE		(16*1024)
#define CONFIG_CPU_L1D_ASSOC		4

#define CONFIG_CPU_L2_SIZE		(512*1024)
#define CONFIG_CPU_L2_ASSOC		4

#define CONFIG_CPU_TLBI4K_SIZE		32
#define CONFIG_CPU_TLBI4K_ASSOC		4
#define CONFIG_CPU_TLBI4M_SIZE		2
#define CONFIG_CPU_TLBI4M_ASSOC		2
#define CONFIG_CPU_TLBD4K_SIZE		64
#define CONFIG_CPU_TLBD4K_ASSOC		4
#define CONFIG_CPU_TLBD4M_SIZE		8
#define CONFIG_CPU_TLBD4M_ASSOC		4

/*
 * 0x00000001: EDX Register
 * Features
 */
#define CONFIG_CPU_FPU_SUPPORT		1
#define CONFIG_CPU_VME_SUPPORT		0
#define CONFIG_CPU_DE_SUPPORT		1
#define CONFIG_CPU_PSE_SUPPORT		1
#define CONFIG_CPU_TSC_SUPPORT		1
#define CONFIG_CPU_MSR_SUPPORT		1
#define CONFIG_CPU_PAE_SUPPORT		1
#define CONFIG_CPU_MCE_SUPPORT		1

#define CONFIG_CPU_CX8_SUPPORT		1
#define CONFIG_CPU_APIC_SUPPORT		1
/* Bit 10: reserved */
#define CONFIG_CPU_SEP_SUPPORT		1
#define CONFIG_CPU_MTRR_SUPPORT		1
#define CONFIG_CPU_PGE_SUPPORT		1
#define CONFIG_CPU_MCA_SUPPORT		1
#define CONFIG_CPU_CMOV_SUPPORT		1

#define CONFIG_CPU_PAT_SUPPORT		0
#define CONFIG_CPU_PSE36_SUPPORT	0
#define CONFIG_CPU_PSN_SUPPORT		0
#define CONFIG_CPU_CFLSH_SUPPORT	0
/* Bit 20 is reserved. */
#define CONFIG_CPU_DS_SUPPORT		0
#define CONFIG_CPU_ACPI_SUPPORT		0
#define CONFIG_CPU_MMX_SUPPORT		1

#define CONFIG_CPU_FXSR_SUPPORT		0
#define CONFIG_CPU_SSE_SUPPORT		0
#define CONFIG_CPU_SSE2_SUPPORT		0
#define CONFIG_CPU_SS_SUPPORT		0
#define CONFIG_CPU_HTT_SUPPORT		0
#define CONFIG_CPU_TM_SUPPORT		0
/* Bit 30 is reserved. */
#define CONFIG_CPU_PBE_SUPPORT		0

/*
 * 0x00000001: ECX Register
 */
#define CONFIG_CPU_SSE3_SUPPORT		0
/* Bits 1-2 are reserved */
#define CONFIG_CPU_MONITOR_SUPPORT	0
#define CONFIG_CPU_DSCPL_SUPPORT	0
#define CONFIG_CPU_VMX_SUPPORT		0
/* Bit 6 is reserved */
#define CONFIG_CPU_EST_SUPPORT		0

#define CONFIG_CPU_TM2_SUPPORT		0
#define CONFIG_CPU_SSSE3_SUPPORT	0
#define CONFIG_CPU_CNXTID_SUPPORT	0
/* Bits 11-12 are reserved */
#define CONFIG_CPU_CMPXCHG16B_SUPPORT	0
#define CONFIG_CPU_XTPR_SUPPORT		0
#define CONFIG_CPU_PDCM_SUPPORT		0

/*
 * 0x80000001: EDX Register
 */
/* Bits 0-10 are reserved */
#define CONFIG_CPU_SYSCALL_SUPPORT	0
/* Bits 12-19 are reserved */
#define CONFIG_CPU_NX_SUPPORT		0
/* Bits 21-24 are reserved */
#define CONFIG_CPU_FFXSR_SUPPORT	0
/* Bits 26-28 are reserved */
#define CONFIG_CPU_LM_SUPPORT		0
/* Bits 30-31 are reserved */

/*
 * 0x80000001: ECX Register
 */
#define CONFIG_CPU_LAHF_SUPPORT		0
/* Bits 2-31 are reserved */

/* Ports */
#include "chip_intel_80686_klamath_int.h"

#include "conf_intel_x86_int.c"
