$(TARGET): delete-unfresh-files make-links $(GENERATED_FILES)
$(MAKE) -C tools
$(MAKE) -C common
- $(MAKE) -C net
+ if [ "$(nodev)" != "y" ]; then \
+ $(MAKE) -C net ; \
+ fi
$(MAKE) -C drivers
$(MAKE) -C arch/$(TARGET_ARCH)
# Note that link order matters!
ALL_OBJS := $(BASEDIR)/common/common.o
-ALL_OBJS += $(BASEDIR)/net/network.o
ALL_OBJS += $(BASEDIR)/drivers/char/driver.o
ALL_OBJS += $(BASEDIR)/drivers/pci/driver.o
-ALL_OBJS += $(BASEDIR)/drivers/net/driver.o
ifneq ($(nodev),y)
+ALL_OBJS += $(BASEDIR)/net/network.o
+ALL_OBJS += $(BASEDIR)/drivers/net/driver.o
ALL_OBJS += $(BASEDIR)/drivers/block/driver.o
ALL_OBJS += $(BASEDIR)/drivers/cdrom/driver.o
ALL_OBJS += $(BASEDIR)/drivers/ide/driver.o
ifeq ($(nodev),y)
CFLAGS += -DNO_DEVICES_IN_XEN
-CFLAGS := $(subst -Werror,,$(CFLAGS))
endif
%.o: %.c $(HDRS) Makefile
.long SYMBOL_NAME(do_set_gdt)
.long SYMBOL_NAME(do_stack_switch)
.long SYMBOL_NAME(do_set_callbacks) /* 5 */
+#ifndef NO_DEVICES_IN_XEN
.long SYMBOL_NAME(do_net_io_op)
+#else
+ .long SYMBOL_NAME(do_ni_syscall)
+#endif
.long SYMBOL_NAME(do_fpu_taskswitch)
.long SYMBOL_NAME(do_sched_op)
.long SYMBOL_NAME(do_dom0_op)
- .long SYMBOL_NAME(do_network_op) /* 10 */
#ifndef NO_DEVICES_IN_XEN
+ .long SYMBOL_NAME(do_network_op) /* 10 */
.long SYMBOL_NAME(do_block_io_op)
#else
+ .long SYMBOL_NAME(do_ni_syscall) /* 10 */
.long SYMBOL_NAME(do_ni_syscall)
#endif
.long SYMBOL_NAME(do_set_debugreg)
extern void timer_bh(void);
extern void init_timervecs(void);
extern void ac_timer_init(void);
+#ifndef NO_DEVICES_IN_XEN
extern int setup_network_devices(void);
extern void net_init(void);
extern void initialize_block_io(void);
+#endif
extern void initialize_keytable();
extern void initialize_keyboard(void);
extern int opt_nosmp, opt_watchdog, opt_noacpi, opt_ignorebiostables;
pci_init();
#endif
do_initcalls();
+#ifndef NO_DEVICES_IN_XEN
if ( !setup_network_devices() )
panic("Must have a network device!\n");
net_init(); /* initializes virtual network system. */
-#ifndef NO_DEVICES_IN_XEN
initialize_block_io(); /* setup block devices */
#endif
OBJS := $(subst perfc.o,,$(OBJS))
endif
+ifeq ($(nodev),y)
+OBJS := $(subst network.o,,$(OBJS))
+endif
+
default: $(OBJS)
$(LD) $(LDARCHFLAGS) -r -o common.o $(OBJS)
{
char *dst;
int i, rc;
- domid_t dom = p->domain;
unsigned long pfn, mfn;
unsigned long nr_pages = (alloc_end - alloc_start) >> PAGE_SHIFT;
unsigned long nr_pt_pages;
unsigned long mpt_alloc;
extern void physdev_init_dom0(struct task_struct *);
+
+#ifndef NO_DEVICES_IN_XEN
extern void ide_probe_devices(xen_disk_info_t *);
extern void scsi_probe_devices(xen_disk_info_t *);
extern void cciss_probe_devices(xen_disk_info_t *);
xen_disk_info_t xdi;
xen_disk_t *xd;
+#endif
/* Sanity! */
if ( p->domain != 0 )
/* Add virtual network interfaces. */
while ( num_vifs-- > 0 )
- (void)create_net_vif(dom);
+ (void)create_net_vif(0);
#ifndef NO_DEVICES_IN_XEN
/* DOM0 gets access to all real block devices. */
default:
$(MAKE) -C char
$(MAKE) -C pci
- $(MAKE) -C net
if [ "$(nodev)" != "y" ]; then \
+ $(MAKE) -C net ; \
$(MAKE) -C block ; \
$(MAKE) -C cdrom ; \
$(MAKE) -C ide ; \
} while (0) \
/* vif prototypes */
+#ifndef NO_DEVICES_IN_XEN
net_vif_t *create_net_vif(domid_t dom);
void destroy_net_vif(net_vif_t *vif);
void unlink_net_vif(net_vif_t *vif);
net_vif_t *net_get_target_vif(u8 *data, unsigned int len, net_vif_t *src_vif);
net_vif_t *find_net_vif(domid_t dom, unsigned int idx);
void delete_all_domain_vfr_rules(struct task_struct *p);
+#else
+#define create_net_vif(_d) ((void)0)
+#define destroy_net_vif(_v) ((void)0)
+#define unlink_net_vif(_v) ((void)0)
+#define delete_all_domain_vfr_rules(_p) ((void)0)
+#endif
/*
* Return values from net_get_target_vif: