rem: read = gIsa->read_io_8(PS2_PORT_DATA);
add: data = gIsa->read_io_8(PS2_PORT_DATA); TRACE(("mouse interrupt : byte %x\n", data));
context: handle_mouse_interrupt(void* data){	int8 read = gIsa->read_io_8(PS2_PORT_CTRL);	if (read < 0) {		TRACE(("Interrupt was not generated by the ps2 mouse\n"));		return B_UNHANDLED_INTERRUPT;	}	read = gIsa->read_io_8(PS2_PORT_DATA);	TRACE(("mouse interrupt : byte %x\n", read));	while (packet_buffer_write(sMouseBuffer, &read, sizeof(read)) == 0) {		// we start dropping packets when the buffer is full		packet_buffer_flush(sMouseBuffer, sPacketSize);	}	if (sSync == 0 && !(read & 8)) {		TRACE(("mouse resynched, bad data\n"));		return B_HANDLED_INTERRUPT;	}	if (++sSync == sPacketSize) {		TRACE(("mouse synched\n"));		sSync = 0;		release_sem_etc(sMouseSem, 1, B_DO_NOT_RESCHEDULE);		return B_INVOKE_SCHEDULER;	}	return B_HANDLED_INTERRUPT;}