Changeset View
Changeset View
Standalone View
Standalone View
sys/amd64/vmm/io/vatpit.c
Show First 20 Lines • Show All 330 Lines • ▼ Show 20 Lines | else { | ||||
c->olbyte = 0; /* reset latch after reprogramming */ | c->olbyte = 0; /* reset latch after reprogramming */ | ||||
c->status |= TIMER_STS_NULLCNT; | c->status |= TIMER_STS_NULLCNT; | ||||
} | } | ||||
return (0); | return (0); | ||||
} | } | ||||
int | int | ||||
vatpit_handler(struct vm *vm, int vcpuid, bool in, int port, int bytes, | vatpit_handler(struct vm *vm, bool in, int port, int bytes, uint32_t *eax) | ||||
uint32_t *eax) | |||||
{ | { | ||||
struct vatpit *vatpit; | struct vatpit *vatpit; | ||||
struct channel *c; | struct channel *c; | ||||
uint8_t val; | uint8_t val; | ||||
int error; | int error; | ||||
vatpit = vm_atpit(vm); | vatpit = vm_atpit(vm); | ||||
▲ Show 20 Lines • Show All 65 Lines • ▼ Show 20 Lines | if (in && c->slatched) { | ||||
} | } | ||||
} | } | ||||
VATPIT_UNLOCK(vatpit); | VATPIT_UNLOCK(vatpit); | ||||
return (0); | return (0); | ||||
} | } | ||||
int | int | ||||
vatpit_nmisc_handler(struct vm *vm, int vcpuid, bool in, int port, int bytes, | vatpit_nmisc_handler(struct vm *vm, bool in, int port, int bytes, | ||||
uint32_t *eax) | uint32_t *eax) | ||||
{ | { | ||||
struct vatpit *vatpit; | struct vatpit *vatpit; | ||||
vatpit = vm_atpit(vm); | vatpit = vm_atpit(vm); | ||||
if (in) { | if (in) { | ||||
VATPIT_LOCK(vatpit); | VATPIT_LOCK(vatpit); | ||||
▲ Show 20 Lines • Show All 84 Lines • Show Last 20 Lines |