-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile.config
142 lines (138 loc) · 7.08 KB
/
Makefile.config
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
# -*- makefile-gmake -*-
include Makefile.common
include $(CONFIG)
# default configurations
gcc_support_64 := \
$(shell $(CC) --target-help | grep -q x86_64: && /bin/echo -n 1 || /bin/echo -n 0)
gcc_support_64 != $(CC) --target-help | grep -q x86_64: && /bin/echo -n 1 || /bin/echo -n 0
CONFIG_64 ?= $(gcc_support_64)
CONFIG_DEBUG_GDB ?= 0
CONFIG_SPINLOCK_DEBUG ?= 0
CONFIG_TTY_SERIAL ?= 0
CONFIG_TTY_X540 ?= 1
CONFIG_CPU_MMU_SPT_1 ?= 0
CONFIG_CPU_MMU_SPT_2 ?= 0
CONFIG_CPU_MMU_SPT_3 ?= 1
CONFIG_CPU_MMU_SPT_DISABLE ?= 0
CONFIG_CPU_MMU_SPT_USE_PAE ?= 1
CONFIG_PS2KBD_F11PANIC ?= 0
CONFIG_PS2KBD_F12MSG ?= 1
CONFIG_DBGSH ?= 1
CONFIG_STATUS ?= 0
CONFIG_LOG_TO_GUEST ?= 0
CONFIG_LOG_TO_IEEE1394 ?= 1
CONFIG_ATA_DRIVER ?= 1
CONFIG_STORAGE ?= 1
CONFIG_CRYPTO ?= 1
CONFIG_VPN ?= 1
CONFIG_USB_DRIVER ?= 1
CONFIG_SHADOW_UHCI ?= 1
CONFIG_SHADOW_EHCI ?= 1
CONFIG_SHADOW_XHCI ?= 1
CONFIG_HANDLE_USBMSC ?= 1
CONFIG_HANDLE_USBHUB ?= 1
CONFIG_CONCEAL_USBCCID ?= 1
CONFIG_IEEE1394_CONCEALER ?= 1
CONFIG_ACPI_DSDT ?= 1
CONFIG_DISABLE_SLEEP ?= 0
CONFIG_ENABLE_ASSERT ?= 1
CONFIG_DEBUG_ATA ?= 0
CONFIG_SELECT_AES_GLADMAN ?= 0
CONFIG_CARDSTATUS ?= 1
CONFIG_IDMAN ?= 1
CONFIG_NET_DRIVER ?= 1
CONFIG_NET_PRO100 ?= 1
CONFIG_NET_PRO1000 ?= 1
CONFIG_NET_RTL8169 ?= 0
CONFIG_NET_BNX ?= 1
CONFIG_NET_VIRTIO_NET ?= 1
CONFIG_VPN_VE ?= 0
CONFIG_VTD_TRANS ?= 0
CONFIG_STORAGE_PD ?= 0
CONFIG_IDMAN_PD ?= 0
CONFIG_VPN_PD ?= 0
CONFIG_DISABLE_TCG_BIOS ?= 0
CONFIG_ACPI_TIME_SOURCE ?= 1
CONFIG_TCG_BIOS ?= $(CONFIG_64)
CONFIG_BACKTRACE ?= 0
CONFIG_VGA_INTEL_DRIVER ?= 0
CONFIG_TTY_VGA ?= 0
CONFIG_SHIFT_KEY_DEBUG ?= 0
CONFIG_DUMP_PCI_DEV_LIST ?= 0
CONFIG_IP ?= 1
CONFIG_PCI_MONITOR ?= 1
CONFIG_THREAD_1CPU ?= 0
CONFIG_ACPI_IGNORE_ERROR ?= 0
CONFIG_MAP_UEFI_MMIO ?= 0
CONFIG_DISABLE_VTD ?= 0
# config list
CONFIGLIST :=
CONFIGLIST += CONFIG_64=$(CONFIG_64)[64bit VMM]
CONFIGLIST += CONFIG_DEBUG_GDB=$(CONFIG_DEBUG_GDB)[gdb remote debug support (32bit only)]
#CONFIGLIST += CONFIG_SPINLOCK_DEBUG=$(CONFIG_SPINLOCK_DEBUG)[spinlock debug (unstable)]
CONFIGLIST += CONFIG_TTY_SERIAL=$(CONFIG_TTY_SERIAL)[VMM uses a serial port (COM1) for output]
CONFIGLIST += CONFIG_TTY_X540=$(CONFIG_TTY_X540)[VMM output to LAN]
CONFIGLIST += CONFIG_CPU_MMU_SPT_1=$(CONFIG_CPU_MMU_SPT_1)[Shadow type 1 (very slow and stable)]
CONFIGLIST += CONFIG_CPU_MMU_SPT_2=$(CONFIG_CPU_MMU_SPT_2)[Shadow type 2 (faster and unstable)]
CONFIGLIST += CONFIG_CPU_MMU_SPT_3=$(CONFIG_CPU_MMU_SPT_3)[Shadow type 3 (faster and unstable)]
CONFIGLIST += CONFIG_CPU_MMU_SPT_DISABLE=$(CONFIG_CPU_MMU_SPT_DISABLE)[Disable SPT (fast, insecure and no MMIO)]
CONFIGLIST += CONFIG_CPU_MMU_SPT_USE_PAE=$(CONFIG_CPU_MMU_SPT_USE_PAE)[Shadow page table uses PAE]
CONFIGLIST += CONFIG_PS2KBD_F11PANIC=$(CONFIG_PS2KBD_F11PANIC)[Panic when F11 is pressed (PS/2 only)]
CONFIGLIST += CONFIG_PS2KBD_F12MSG=$(CONFIG_PS2KBD_F12MSG)[Print when F12 is pressed (PS/2 only)]
CONFIGLIST += CONFIG_DBGSH=$(CONFIG_DBGSH)[Debug shell access from guest]
CONFIGLIST += CONFIG_STATUS=$(CONFIG_STATUS)[Provide VMM status for guest]
CONFIGLIST += CONFIG_LOG_TO_GUEST=$(CONFIG_LOG_TO_GUEST)[Log to guest memory]
CONFIGLIST += CONFIG_LOG_TO_IEEE1394=$(CONFIG_LOG_TO_IEEE1394)[Log to IEEE 1394 host]
CONFIGLIST += CONFIG_ATA_DRIVER=$(CONFIG_ATA_DRIVER)[Enable ATA driver]
CONFIGLIST += CONFIG_STORAGE=$(CONFIG_STORAGE)[Enable storage encryption]
CONFIGLIST += CONFIG_CRYPTO=$(CONFIG_CRYPTO)[Crypto library]
CONFIGLIST += CONFIG_VPN=$(CONFIG_VPN)[Enable IPsec VPN Client]
CONFIGLIST += CONFIG_USB_DRIVER=$(CONFIG_USB_DRIVER)[Enable USB driver]
CONFIGLIST += CONFIG_SHADOW_UHCI=$(CONFIG_SHADOW_UHCI)[Shadow UHCI(USB1) transfers]
CONFIGLIST += CONFIG_SHADOW_EHCI=$(CONFIG_SHADOW_EHCI)[Shadow EHCI(USB2) transfers]
CONFIGLIST += CONFIG_SHADOW_XHCI=$(CONFIG_SHADOW_XHCI)[Shadow xHCI(USB3) transfers]
CONFIGLIST += CONFIG_HANDLE_USBMSC=$(CONFIG_HANDLE_USBMSC)[Handle USB mass storage class devices]
CONFIGLIST += CONFIG_HANDLE_USBHUB=$(CONFIG_HANDLE_USBHUB)[Handle USB hub class devices]
CONFIGLIST += CONFIG_CONCEAL_USBCCID=$(CONFIG_CONCEAL_USBCCID)[Conceal USB ccid class device]
CONFIGLIST += CONFIG_PS2KBD_F10USB=$(CONFIG_PS2KBD_F10USB)[Run a test for USB ICCD when F10 pressed]
CONFIGLIST += CONFIG_PS2KBD_F12USB=$(CONFIG_PS2KBD_F12USB)[Dump EHCI async. list when F12 pressed]
CONFIGLIST += CONFIG_IEEE1394_CONCEALER=$(CONFIG_IEEE1394_CONCEALER)[Conceal OHCI IEEE 1394 host controllers]
CONFIGLIST += CONFIG_ACPI_DSDT=$(CONFIG_ACPI_DSDT)[Parse ACPI DSDT]
CONFIGLIST += CONFIG_DISABLE_SLEEP=$(CONFIG_DISABLE_SLEEP)[Disable ACPI S2 and S3]
CONFIGLIST += CONFIG_ENABLE_ASSERT=$(CONFIG_ENABLE_ASSERT)[Enable checking assertion failure]
CONFIGLIST += CONFIG_DEBUG_ATA=$(CONFIG_DEBUG_ATA)[Enable debugging ATA driver]
CONFIGLIST += CONFIG_SELECT_AES_GLADMAN=$(CONFIG_SELECT_AES_GLADMAN)[Select Dr. Gladmans AES assembler code]
CONFIGLIST += CONFIG_CARDSTATUS=$(CONFIG_CARDSTATUS)[Panic if an IC card is ejected (IDMAN)]
CONFIGLIST += CONFIG_IDMAN=$(CONFIG_IDMAN)[IDMAN (CRYPTO must be enabled)]
CONFIGLIST += CONFIG_NET_DRIVER=$(CONFIG_NET_DRIVER)[Enable NIC drivers]
CONFIGLIST += CONFIG_NET_PRO100=$(CONFIG_NET_PRO100)[Intel PRO/100 driver]
CONFIGLIST += CONFIG_NET_PRO1000=$(CONFIG_NET_PRO1000)[Intel PRO/1000 driver]
CONFIGLIST += CONFIG_NET_RTL8169=$(CONFIG_NET_RTL8169)[Realtek RTL8169 driver]
CONFIGLIST += CONFIG_NET_BNX=$(CONFIG_NET_BNX)[Broadcom NetXtreme GbE driver]
CONFIGLIST += CONFIG_NET_VIRTIO_NET=$(CONFIG_NET_VIRTIO_NET)[Enable virtio-net for PRO1000/BNX]
CONFIGLIST += CONFIG_VPN_VE=$(CONFIG_VPN_VE)[Enable ve (Virtual Ethernet) driver]
CONFIGLIST += CONFIG_VTD_TRANS=$(CONFIG_VTD_TRANS)[Enable VT-d translation]
CONFIGLIST += CONFIG_STORAGE_PD=$(CONFIG_STORAGE_PD)[Storage encrypting in protection domain]
CONFIGLIST += CONFIG_IDMAN_PD=$(CONFIG_IDMAN_PD)[IDMan in protection domain]
CONFIGLIST += CONFIG_VPN_PD=$(CONFIG_VPN_PD)[VPN in protection domain]
CONFIGLIST += CONFIG_DISABLE_TCG_BIOS=$(CONFIG_DISABLE_TCG_BIOS)[Disable TCG BIOS (TPM related)]
CONFIGLIST += CONFIG_ACPI_TIME_SOURCE=$(CONFIG_ACPI_TIME_SOURCE)[Use ACPI PM Timer as time source]
CONFIGLIST += CONFIG_TCG_BIOS=$(CONFIG_TCG_BIOS)[TCG BIOS support]
CONFIGLIST += CONFIG_BACKTRACE=$(CONFIG_BACKTRACE)[Enable backtrace in panic]
CONFIGLIST += CONFIG_VGA_INTEL_DRIVER=$(CONFIG_VGA_INTEL_DRIVER)[Enable vga_intel driver]
CONFIGLIST += CONFIG_TTY_VGA=$(CONFIG_TTY_VGA)[VMM output using VGA driver]
CONFIGLIST += CONFIG_SHIFT_KEY_DEBUG=$(CONFIG_SHIFT_KEY_DEBUG)[Debug shell with shift key while booting]
CONFIGLIST += CONFIG_DUMP_PCI_DEV_LIST=$(CONFIG_DUMP_PCI_DEV_LIST)[Dump list of PCI devices]
CONFIGLIST += CONFIG_IP=$(CONFIG_IP)[Enable TCP/IP stack]
CONFIGLIST += CONFIG_PCI_MONITOR=$(CONFIG_PCI_MONITOR)[PCI I/O monitor driver]
CONFIGLIST += CONFIG_THREAD_1CPU=$(CONFIG_THREAD_1CPU)[Disable parallel thread processing]
CONFIGLIST += CONFIG_ACPI_IGNORE_ERROR=$(CONFIG_ACPI_IGNORE_ERROR)[Ignore ACPI DSDT/SSDT parse errors]
CONFIGLIST += CONFIG_MAP_UEFI_MMIO=$(CONFIG_MAP_UEFI_MMIO)[Map EfiMemoryMappedIO space]
CONFIGLIST += CONFIG_DISABLE_VTD=$(CONFIG_DISABLE_VTD)[Disable VT-d translation if enabled]
.PHONY : update-config
update-config :
/bin/echo -n '$(CONFIGLIST)' | tr '[' '#' | tr ']' '\n' | \
sed 's/^ //' > $(CONFIG)
.PHONY : config
config : update-config
./config.sh