lguest: remove NOTIFY facility from demonstration launcher.
This was only used for early console, now we can get rid of it altogether. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
parent
a561adfaec
commit
00f8d54651
|
@ -1079,23 +1079,6 @@ static void cleanup_devices(void)
|
|||
tcsetattr(STDIN_FILENO, TCSANOW, &orig_term);
|
||||
}
|
||||
|
||||
/*L:215
|
||||
* This is the generic routine we call when the Guest uses LHCALL_NOTIFY.
|
||||
*/
|
||||
static void handle_output(unsigned long addr)
|
||||
{
|
||||
/*
|
||||
* Early console write is done using notify on a nul-terminated string
|
||||
* in Guest memory. It's also great for hacking debugging messages
|
||||
* into a Guest.
|
||||
*/
|
||||
if (addr >= guest_limit)
|
||||
errx(1, "Bad NOTIFY %#lx", addr);
|
||||
|
||||
write(STDOUT_FILENO, from_guest_phys(addr),
|
||||
strnlen(from_guest_phys(addr), guest_limit - addr));
|
||||
}
|
||||
|
||||
/*L:217
|
||||
* We do PCI. This is mainly done to let us test the kernel virtio PCI
|
||||
* code.
|
||||
|
@ -2662,14 +2645,8 @@ static void __attribute__((noreturn)) run_guest(void)
|
|||
|
||||
/* We read from the /dev/lguest device to run the Guest. */
|
||||
readval = pread(lguest_fd, ¬ify, sizeof(notify), cpu_id);
|
||||
|
||||
/* One unsigned long means the Guest did HCALL_NOTIFY */
|
||||
if (readval == sizeof(notify)) {
|
||||
if (notify.trap == 0x1F) {
|
||||
verbose("Notify on address %#08x\n",
|
||||
notify.addr);
|
||||
handle_output(notify.addr);
|
||||
} else if (notify.trap == 13) {
|
||||
if (notify.trap == 13) {
|
||||
verbose("Emulating instruction at %#x\n",
|
||||
getreg(eip));
|
||||
emulate_insn(notify.insn);
|
||||
|
|
Loading…
Reference in New Issue