Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 00f8d546 authored by Rusty Russell's avatar Rusty Russell
Browse files

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: default avatarRusty Russell <rusty@rustcorp.com.au>
parent a561adfa
Loading
Loading
Loading
Loading
+1 −24
Original line number Diff line number Diff line
@@ -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, &notify, 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);