1#
2# rumpbake default configuration file
3#
4
5version 20160209
6
7#
8# First, define internal convenience sets.
9#
10conf _foundation
11	create	"basic components for the Rumprun unikernel"
12	add	-lrumpvfs			\
13		-lrumpkern_bmktc		\
14		-lrumpkern_mman			\
15		-lrumpdev			\
16		-lrumpfs_tmpfs			\
17		-lrumpnet_config		\
18		-lrumpnet			\
19		-lrumpdev_bpf			\
20		-lrumpdev_vnd			\
21		-lrumpdev_rnd			\
22		-lrumprunfs_base
23fnoc
24
25conf _virtio
26	create	"virtio drivers"
27	add	-lrumpdev_virtio_if_vioif	\
28		-lrumpdev_virtio_ld		\
29		-lrumpdev_virtio_viornd		\
30		-lrumpdev_pci_virtio		\
31		-lrumpdev_pci
32fnoc
33
34conf _audio
35	create	"audio subsystem and some PCI audio device drivers"
36	add	-lrumpdev_audio			\
37		-lrumpdev_audio_ac97		\
38		-lrumpdev_pci_auich		\
39		-lrumpdev_pci_eap		\
40		-lrumpdev_pci_hdaudio		\
41		-lrumpdev_hdaudio_hdafg
42fnoc
43
44conf _netinet
45	create	"TCP/IP (v4)"
46	add	-lrumpnet_netinet		\
47		-lrumpnet_net			\
48		-lrumpnet
49fnoc
50
51conf _netinet6
52	create	"TCP/IP (v6)"
53	add	-lrumpnet_netinet6		\
54		-lrumpnet_net			\
55		-lrumpnet
56fnoc
57
58conf _netunix
59	create	"local domain sockets"
60	add	-lrumpnet_local			\
61		-lrumpnet
62fnoc
63
64conf _stdfs
65	create	"selection of file system drivers"
66	add	-lrumpfs_ffs			\
67		-lrumpfs_cd9660			\
68		-lrumpfs_ext2fs			\
69		-lrumpdev_disk			\
70		-lrumpvfs
71fnoc
72
73conf _pciether
74	create	"PCI Ethernet NIC drivers"
75	add	-lrumpdev_pci_if_wm		\
76		-lrumpdev_miiphy		\
77		-lrumpdev_pci
78fnoc
79
80conf _usb
81	create	"USB stack incl. PCI USB host controllers"
82	add	-lrumpdev_pci_usbhc		\
83		-lrumpdev_usb			\
84		-lrumpdev_umass			\
85		-lrumpdev_scsipi		\
86		-lrumpdev_pci
87fnoc
88
89# this is a config so that it can be assimilated
90conf _sysproxy
91	create	"system call proxy support"
92	add	-lrumpkern_sysproxy
93fnoc
94
95conf _miconf
96	create		"general useful MI/pseudo driver set"
97	assimilate	_foundation		\
98			_netinet		\
99			_netinet6		\
100			_netunix		\
101			_stdfs			\
102			_sysproxy
103fnoc
104
105conf _virtio_scsi
106	create		"virtio SCSI"
107	add		-lrumpdev_virtio_vioscsi
108	add		-lrumpdev_scsipi
109fnoc
110
111
112#
113# then, define some end-user configs
114#
115
116conf xen_pv
117	create		"Xen with paravirtualized I/O drivers"
118	assimilate	_miconf
119	add		-lrumpfs_kernfs		\
120			-lrumpnet_xenif		\
121			-lrumpxen_xendev
122fnoc
123
124conf xen_pci
125	create		"Xen with paravirtualized and PCI I/O drivers"
126	assimilate	xen_pv			\
127			_pciether
128fnoc
129
130conf hw_virtio
131	create		"virtio targets (e.g. QEMU/KVM)"
132	assimilate	_miconf			\
133			_virtio
134fnoc
135
136conf hw_virtio_scsi
137	create		"virtio targets with SCSI (e.g. QEMU/KVM)"
138	assimilate	_miconf			\
139			_virtio			\
140			_virtio_scsi
141fnoc
142
143conf hw_generic
144	create		"generic targets, includes (almost) all drivers"
145	assimilate	_miconf			\
146			_virtio			\
147			_virtio_scsi		\
148			_audio			\
149			_pciether		\
150			_usb
151
152fnoc
153
154conf hw_ethernet
155	create		"generic targets, includes (almost) all drivers"
156	assimilate	_miconf			\
157			_pciether
158fnoc
159
160conf sel4_generic
161	create		"generic targets, includes minimal drivers"
162	assimilate	_miconf
163fnoc
164
165conf sel4_ethernet
166	create		"generic targets, includes ethernet drivers"
167	assimilate	_miconf _pciether
168fnoc
169
170conf sel4_virtio
171	create		"virtio targets (e.g. QEMU/KVM)"
172	assimilate	_miconf			\
173			_virtio _pciether
174
175fnoc
176