Crash Xen hypervisor on purpose - linux-kernel

I am wondering if there is any way I can crash the Xen hypervisor on purpose? I installed the Xen with CentOS 5.5, and I am able to crash the Domain 0 (CentOS 5.5) with echo c > /proc/sysrq-trigger. Can I do such kind of crash to Xen hypervisor?
Thanks for any inputs!

Since you are able to crash the Dom0 with sysrq, you are already crashing Xen management domain which eventually kills Xen.

Related

How to exclude GIC distributor initialization during Linux kernel booting

I am new to Linux kernel, and now working with an AMP system on a 4-core Cortex-A53, where 2 cores are for RTOS and the other 2 for Linux.
The issue is RTOS and Linux share some H/W resource, like GIC controller and SMMU(IOMMU). I would like to initialize them(write to their register) by RTOS before booting the Linux kernel. Linux will only use these shared resource, but skip the initialization(e.g. irqchip_init()) during kernel booting.
Is it possible? Can I make it by kernel build configuration? If possible, how should I describe them in device tree?
I know this is a rare implementation case. Does anyone have experience?

PC crashses when I enable VT-X (Virtualization technology) intel i5-3450

When I boot up and go to BIOS and enable Virtulization Technology and save settings, as soon as I save & exit my PC turns of and turns on, then turns off again and then turns on and boots windows and VT-X is disabled.
So it seems as if when I turn it on it crashes and then it tries another time with VT-X enabled but crashes again and then disables it and turns on like it normally would, but that means I can't use VT-X and I would really like to because VirtualBox requires it on some Operating systems.
I hope someone has a solution or some guidelines!
System Info:
HP Pavilion Desktop PC
Windows 10 Home
Intel i5-3450
Radeon RX550
Thanks in advance!

Load Options ROM using Windows driver?

Why on earth? What? Well, I have some SCSI hardware that won't run with Windows 10 and a UEFI boot. My PC also doesn't seem to load the Options ROM if I run in insecure UEFI mode. So I wondered if technically I could write a Windows 10 driver that could do what the BIOS doesn't.
Clearly, I can't 'load before OS' to allow a 'boot from SCSI' but I might at least be able to make SCSI disks and hardware active after Windows boots.
So before I head off on a wild goose chase, is this technically possible? Can I, for example, run code to hook interrupts from a Windows driver running in the kernel?

Could Linux kernel load and run another Linux kernel?

I wish to load Linux kernel from USB device that make some actions and load another kernel from HDD. It is possible to force kernel to give control to another one?
Yes, kexec does this, and many servers do this for failsafe booting

about guest in the kvm to handle the external interrupt and external interrupt

I'm new to kvm, can someone explain it's process when guest handle a external interrupt or the emulated device interrupt?
Thanks
Amos
In x86 architecture, Intel in this case, most interrupts will cause CPU VM exit, which means the control of CPU will return to host from guests.
So the processes are
CPU is used by guest OS in VMX non-root mode.
CPU is aware of an interrupt coming.
CPU's control returns to host running in VMX root mode. (VM exit)
The host (KVM) handles the interrupt.
Host executed VMLAUNCH instruction to let CPU transfer to VMX non-root mode again for running
guest code.
Repeat 1.
If you are new to kvm, you should first read a few papers about how kvm module works (I assume you know basic idea of virtualization).How it uses qemu to do i/o emulation etc.
I recommend you read these papers:
kvm: the Linux Virtual Machine Monitor: https://www.kernel.org/doc/mirror/ols2007v1.pdf#page=225
Kernel-based Virtual Machine Technology : http://www.fujitsu.com/downloads/MAG/vol47-3/paper18.pdf KVM: Kernel-based Virtualization Driver: http://www.linuxinsight.com/files/kvm_whitepaper.pdf
These are papers written by guys who started kvm.( they are short and sweet :) )
After this you should start looking at the documentation of the kvm in the source code especially the file api.txt its very good.
Then I think you can jump into the source code to understand how things actually work.
Cheers

Resources