Command A5 is in fact the IBM PS/2 Load Security command, fixes the AMI Excalibur PCI Pentium.
This commit is contained in:
@@ -808,6 +808,12 @@ write64_generic(void *priv, uint8_t val)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 0xa5: /* load security */
|
||||||
|
kbc_at_log("ATkbc: load security\n");
|
||||||
|
dev->wantdata = 1;
|
||||||
|
dev->state = STATE_KBC_PARAM;
|
||||||
|
return 0;
|
||||||
|
|
||||||
case 0xa7: /* disable auxiliary port */
|
case 0xa7: /* disable auxiliary port */
|
||||||
if (dev->misc_flags & FLAG_PS2) {
|
if (dev->misc_flags & FLAG_PS2) {
|
||||||
kbc_at_log("ATkbc: disable auxiliary port\n");
|
kbc_at_log("ATkbc: disable auxiliary port\n");
|
||||||
@@ -1003,11 +1009,6 @@ write60_ami(void *priv, uint8_t val)
|
|||||||
write_cmd(dev, val);
|
write_cmd(dev, val);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
case 0xa5: /* get extended controller RAM */
|
|
||||||
kbc_at_log("ATkbc: AMI - get extended controller RAM\n");
|
|
||||||
kbc_delay_to_ob(dev, dev->mem[val], 0, 0x00);
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
case 0xaf: /* set extended controller RAM */
|
case 0xaf: /* set extended controller RAM */
|
||||||
kbc_at_log("ATkbc: AMI - set extended controller RAM\n");
|
kbc_at_log("ATkbc: AMI - set extended controller RAM\n");
|
||||||
if (dev->command_phase == 1) {
|
if (dev->command_phase == 1) {
|
||||||
@@ -1102,12 +1103,8 @@ write64_ami(void *priv, uint8_t val)
|
|||||||
if (!(dev->misc_flags & FLAG_PS2)) {
|
if (!(dev->misc_flags & FLAG_PS2)) {
|
||||||
kbc_at_log("ATkbc: AMI - write clock = high\n");
|
kbc_at_log("ATkbc: AMI - write clock = high\n");
|
||||||
dev->misc_flags |= FLAG_CLOCK;
|
dev->misc_flags |= FLAG_CLOCK;
|
||||||
} else {
|
return 0;
|
||||||
kbc_at_log("ATkbc: get extended controller RAM\n");
|
|
||||||
dev->wantdata = 1;
|
|
||||||
dev->state = STATE_KBC_PARAM;
|
|
||||||
}
|
}
|
||||||
return 0;
|
|
||||||
|
|
||||||
case 0xa6: /* read clock */
|
case 0xa6: /* read clock */
|
||||||
if (!(dev->misc_flags & FLAG_PS2)) {
|
if (!(dev->misc_flags & FLAG_PS2)) {
|
||||||
@@ -1604,6 +1601,17 @@ kbc_at_process_cmd(void *priv)
|
|||||||
write_cmd(dev, dev->ib);
|
write_cmd(dev, dev->ib);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 0xa5: /* load security */
|
||||||
|
if (dev->misc_flags & FLAG_PS2) {
|
||||||
|
kbc_at_log("ATkbc: load security (%02X)\n", dev->ib);
|
||||||
|
|
||||||
|
if (dev->ib != 0x00) {
|
||||||
|
dev->wantdata = 1;
|
||||||
|
dev->state = STATE_KBC_PARAM;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case 0xc7: /* set port1 bits */
|
case 0xc7: /* set port1 bits */
|
||||||
kbc_at_log("ATkbc: Phoenix - set port1 bits\n");
|
kbc_at_log("ATkbc: Phoenix - set port1 bits\n");
|
||||||
dev->p1 |= dev->ib;
|
dev->p1 |= dev->ib;
|
||||||
|
Reference in New Issue
Block a user