/* Init function for virtio devices are in a single page above top of "normal" mem  */
static int __init kvm_devices_init(void)
/* Init function for virtio devices are in a single page above top of "normal" mem  */
static int __init kvm_devices_init(void)
{
	int rc;
	if (!MACHINE_IS_KVM)
		return -ENODEV;
	kvm_root = root_device_register("kvm_s390");
	if (IS_ERR(kvm_root)) {
		rc = PTR_ERR(kvm_root);
		printk(KERN_ERR "Could not register kvm_s390 root device");
		return rc;
	}
	rc = vmem_add_mapping(real_memory_size, PAGE_SIZE);
	if (rc) {
		root_device_unregister(kvm_root);
		return rc;
	}
	kvm_devices = (void *) real_memory_size;
	ctl_set_bit(0, 9);
	register_external_interrupt(0x2603, kvm_extint_handler);
	scan_devices();
	return 0;
}