[PATCH v5 2/4] kernel: add VirtIO device support
[openwrt.git] / package / kernel / modules / virtual.mk
1 #
2 # Copyright (C) 2010 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 VIRTUAL_MENU:=Virtualization Support
9
10
11 define KernelPackage/virtio-balloon
12   SUBMENU:=$(VIRTUAL_MENU)
13   TITLE:=VirtIO balloon driver
14   DEPENDS:=@TARGET_x86
15   KCONFIG:=CONFIG_VIRTIO_BALLOON
16   FILES:=$(LINUX_DIR)/drivers/virtio/virtio_balloon.$(LINUX_KMOD_SUFFIX)
17   AUTOLOAD:=$(call AutoLoad,06,virtio-balloon)
18 endef
19
20 define KernelPackage/virtio-balloon/description
21   Kernel module for VirtIO memory ballooning support
22 endef
23
24 $(eval $(call KernelPackage,virtio-balloon))
25
26
27 define KernelPackage/virtio-net
28   SUBMENU:=$(VIRTUAL_MENU)
29   TITLE:=VirtIO network driver
30   DEPENDS:=@TARGET_x86
31   KCONFIG:=CONFIG_VIRTIO_NET
32   FILES:=$(LINUX_DIR)/drivers/net/virtio_net.$(LINUX_KMOD_SUFFIX)
33   AUTOLOAD:=$(call AutoLoad,50,virtio_net)
34 endef
35
36 define KernelPackage/virtio-net/description
37  Kernel module for the VirtIO paravirtualized network device
38 endef
39
40 $(eval $(call KernelPackage,virtio-net))
41
42
43 define KernelPackage/virtio-random
44   SUBMENU:=$(VIRTUAL_MENU)
45   TITLE:=VirtIO Random Number Generator support
46   DEPENDS:=@TARGET_x86
47   KCONFIG:=CONFIG_HW_RANDOM_VIRTIO
48   FILES:=$(LINUX_DIR)/drivers/char/hw_random/virtio-rng.$(LINUX_KMOD_SUFFIX)
49   AUTOLOAD:=$(call AutoLoad,09,virtio-rng)
50 endef
51
52 define KernelPackage/virtio-random/description
53   Kernel module for the VirtIO Random Number Generator
54 endef
55
56 $(eval $(call KernelPackage,virtio-random))
57
58 define KernelPackage/xen-fs
59   SUBMENU:=$(VIRTUAL_MENU)
60   TITLE:=Xen filesystem
61   DEPENDS:=@TARGET_x86_xen_domu
62   KCONFIG:= \
63         CONFIG_XENFS \
64         CONFIG_XEN_COMPAT_XENFS=y
65   FILES:=$(LINUX_DIR)/drivers/xen/xenfs/xenfs.ko
66   AUTOLOAD:=$(call AutoLoad,05,xenfs)
67 endef
68
69 define KernelPackage/xen-fs/description
70   Kernel module for the Xen filesystem
71 endef
72
73 $(eval $(call KernelPackage,xen-fs))
74
75
76 define KernelPackage/xen-evtchn
77   SUBMENU:=$(VIRTUAL_MENU)
78   TITLE:=Xen event channels
79   DEPENDS:=@TARGET_x86_xen_domu
80   KCONFIG:=CONFIG_XEN_DEV_EVTCHN
81   FILES:=$(LINUX_DIR)/drivers/xen/evtchn.ko
82   AUTOLOAD:=$(call AutoLoad,06,evtchn)
83 endef
84
85 define KernelPackage/xen-evtchn/description
86   Kernel module for the /dev/xen/evtchn device
87 endef
88
89 $(eval $(call KernelPackage,xen-evtchn))
90
91 # FIXME: the FB support should be moved to a separate kmod
92 define KernelPackage/xen-fbdev
93   SUBMENU:=$(VIRTUAL_MENU)
94   TITLE:=Xen virtual frame buffer
95   DEPENDS:=@TARGET_x86_xen_domu
96   KCONFIG:= \
97         CONFIG_XEN_FBDEV_FRONTEND \
98         CONFIG_FB \
99         CONFIG_FB_DEFERRED_IO=y \
100         CONFIG_FB_SYS_COPYAREA \
101         CONFIG_FB_SYS_FILLRECT \
102         CONFIG_FB_SYS_FOPS \
103         CONFIG_FB_SYS_IMAGEBLIT \
104         CONFIG_FIRMWARE_EDID=n
105   FILES:= \
106         $(LINUX_DIR)/drivers/video/xen-fbfront.ko \
107         $(LINUX_DIR)/drivers/video/fb.ko \
108         $(LINUX_DIR)/drivers/video/syscopyarea.ko \
109         $(LINUX_DIR)/drivers/video/sysfillrect.ko \
110         $(LINUX_DIR)/drivers/video/fb_sys_fops.ko \
111         $(LINUX_DIR)/drivers/video/sysimgblt.ko         
112   AUTOLOAD:=$(call AutoLoad,07, \
113         fb \
114         syscopyarea \
115         sysfillrect \
116         fb_sys_fops \
117         sysimgblt \
118         xen-fbfront \
119   )
120 endef
121
122 define KernelPackage/xen-fbdev/description
123   Kernel module for the Xen virtual frame buffer
124 endef
125
126 $(eval $(call KernelPackage,xen-fbdev))
127
128
129 define KernelPackage/xen-kbddev
130   SUBMENU:=$(VIRTUAL_MENU)
131   TITLE:=Xen virtual keyboard and mouse
132   DEPENDS:=@TARGET_x86_xen_domu
133   KCONFIG:=CONFIG_XEN_KBDDEV_FRONTEND
134   FILES:=$(LINUX_DIR)/drivers/input/xen-kbdfront.ko
135   AUTOLOAD:=$(call AutoLoad,08,xen-kbdfront)
136 endef
137
138 define KernelPackage/xen-kbddev/description
139   Kernel module for the Xen virtual keyboard and mouse
140 endef
141
142 $(eval $(call KernelPackage,xen-kbddev))
143
144
145 define KernelPackage/xen-netdev
146   SUBMENU:=$(VIRTUAL_MENU)
147   TITLE:=Xen network device frontend
148   DEPENDS:=@TARGET_x86_xen_domu
149   KCONFIG:=CONFIG_XEN_NETDEV_FRONTEND
150   FILES:=$(LINUX_DIR)/drivers/net/xen-netfront.ko
151   AUTOLOAD:=$(call AutoLoad,09,xen-netfront)
152 endef
153
154 define KernelPackage/xen-netdev/description
155   Kernel module for the Xen network device frontend
156 endef
157
158 $(eval $(call KernelPackage,xen-netdev))