virtualBox crashes when trying to write to HPET register! This code can run normally on physical machines and vmWare, QEMU, and ESXI platforms.
virtualBox crashes when trying to write to HPET register! This code can run normally on physical machines and vmWare, QEMU, and ESXI platforms.
hpet_registers.gcap_id = (UINT64 *) LADDR_TO_HADDR(hpet.address + 0);
hpet_registers.gen_conf = (UINT64 *) LADDR_TO_HADDR(hpet.address + 0x10);
hpet_registers.gintr_sta = (UINT64 *) LADDR_TO_HADDR(hpet.address + 0x20);
hpet_registers.main_cnt = (UINT64 *) LADDR_TO_HADDR(hpet.address + 0xF0);
hpet_registers.tim0_conf = (UINT64 *) LADDR_TO_HADDR(hpet.address + 0x100);
hpet_registers.tim0_comp = (UINT64 *) LADDR_TO_HADDR(hpet.address + 0x108);
hpet_registers.tim1_conf = (UINT64 *) LADDR_TO_HADDR(hpet.address + 0x120);
hpet_registers.tim1_comp = (UINT64 *) LADDR_TO_HADDR(hpet.address + 0x128);
hpet_registers.tim2_conf = (UINT64 *) LADDR_TO_HADDR(hpet.address + 0x140);
hpet_registers.tim2_comp = (UINT64 *) LADDR_TO_HADDR(hpet.address + 0x148);
hpet_registers.tim3_conf = (UINT64 *) LADDR_TO_HADDR(hpet.address + 0x160);
hpet_registers.tim3_comp = (UINT64 *) LADDR_TO_HADDR(hpet.address + 0x168);
hpet_registers.tim4_conf = (UINT64 *) LADDR_TO_HADDR(hpet.address + 0x180);
hpet_registers.tim4_comp = (UINT64 *) LADDR_TO_HADDR(hpet.address + 0x188);
hpet_registers.tim5_conf = (UINT64 *) LADDR_TO_HADDR(hpet.address + 0x1A0);
hpet_registers.tim5_comp = (UINT64 *) LADDR_TO_HADDR(hpet.address + 0x1A8);
hpet_registers.tim6_conf = (UINT64 *) LADDR_TO_HADDR(hpet.address + 0x1C0);
hpet_registers.tim6_comp = (UINT64 *) LADDR_TO_HADDR(hpet.address + 0x1C8);
hpet_registers.tim7_conf = (UINT64 *) LADDR_TO_HADDR(hpet.address + 0x1E0);
hpet_registers.tim7_comp = (UINT64 *) LADDR_TO_HADDR(hpet.address + 0x1E8);
/*VirtualBox crashes when writing data to hpet register*/
*hpet_registers.gen_conf = 1;
SFENCE();
color_printk(RED,BLACK,"Hpet GEN_CONF=%#lX\n",*hpet_registers.gen_conf);
while(1);
Please see this for the first two attachment upload errors. The file exceeds 512KB and must be converted into a compressed file.