X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fdevices%2Fkeyboard.c;h=c05b00e06fca10bebd0c527751f04ff70518f50b;hb=28cfe68985ef4360c9bd7428a19c222b295e9d85;hp=e9fff1f0ec37b4e3d67c1a6e534476eab080e82e;hpb=82b8b87c344fcd1eab22e3f3be5ad54cbb3f8f68;p=palacios.git diff --git a/palacios/src/devices/keyboard.c b/palacios/src/devices/keyboard.c index e9fff1f..c05b00e 100644 --- a/palacios/src/devices/keyboard.c +++ b/palacios/src/devices/keyboard.c @@ -327,7 +327,28 @@ static int key_event_handler(struct guest_info * info, if (evt->scan_code == 0x44) { // F10 debug dump v3_print_guest_state(info); // PrintGuestPageTables(info, info->shdw_pg_state.guest_cr3); + } +#ifdef CONFIG_SYMBIOTIC +else if (evt->scan_code == 0x43) { // F9 Sym test + PrintDebug("Testing sym call\n"); + sym_arg_t a0 = 0x1111; + sym_arg_t a1 = 0x2222; + sym_arg_t a2 = 0x3333; + sym_arg_t a3 = 0x4444; + sym_arg_t a4 = 0x5555; + + v3_sym_call5(info, SYMCALL_TEST, &a0, &a1, &a2, &a3, &a4); + + V3_Print("Symcall Test Returned arg0=%x, arg1=%x, arg2=%x, arg3=%x, arg4=%x\n", + (uint32_t)a0, (uint32_t)a1, (uint32_t)a2, (uint32_t)a3, (uint32_t)a4); + + } else if (evt->scan_code == 0x42) { // F8 Sym test2 + PrintDebug("Testing sym call\n"); + sym_arg_t addr = 0; + v3_sym_call1(info, SYMCALL_MEM_LOOKUP, &addr); } +#endif + addr_t irq_state = v3_lock_irqsave(state->kb_lock);