diff options
author | balrog | 2007-12-10 02:07:47 +0100 |
---|---|---|
committer | balrog | 2007-12-10 02:07:47 +0100 |
commit | cf6d911814c0278c1dae48b78359ee90215a13e6 (patch) | |
tree | 45fb454a5ccfcf2c18da99e54ac208d44fea3ac1 /hw/omap.c | |
parent | Fix incompatible declaration in previous commit. (diff) | |
download | qemu-cf6d911814c0278c1dae48b78359ee90215a13e6.tar.gz qemu-cf6d911814c0278c1dae48b78359ee90215a13e6.tar.xz qemu-cf6d911814c0278c1dae48b78359ee90215a13e6.zip |
Fix OMAP1 MPUI/O keyboard interrupt masking.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3796 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'hw/omap.c')
-rw-r--r-- | hw/omap.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -3576,8 +3576,8 @@ static void omap_mpuio_kbd_update(struct omap_mpuio_s *s) if (*row & cols) rows |= i; - qemu_set_irq(s->kbd_irq, rows && ~s->kbd_mask && s->clk); - s->row_latch = rows ^ 0x1f; + qemu_set_irq(s->kbd_irq, rows && !s->kbd_mask && s->clk); + s->row_latch = ~rows; } static uint32_t omap_mpuio_read(void *opaque, target_phys_addr_t addr) @@ -3609,7 +3609,7 @@ static uint32_t omap_mpuio_read(void *opaque, target_phys_addr_t addr) return s->edge; case 0x20: /* KBD_INT */ - return (s->row_latch != 0x1f) && !s->kbd_mask; + return (~s->row_latch & 0x1f) && !s->kbd_mask; case 0x24: /* GPIO_INT */ ret = s->ints; |