Fork us on GitHub Follow us on Facebook Follow us on Twitter

Changeset eca2435 in mainline


Ignore:
Timestamp:
2010-01-06T20:52:16Z (12 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master
Children:
5eb5dcf, 985e26d2, a5603ff
Parents:
23efd30 (diff), 2ae1e6e (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge mouse fixes.

Files:
4 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/amd64/src/amd64.c

    r23efd30 reca2435  
    212212                        i8042_wire(i8042_instance, kbrd);
    213213                        trap_virtual_enable_irqs(1 << IRQ_KBD);
     214                        trap_virtual_enable_irqs(1 << IRQ_MOUSE);
    214215                }
    215216        }
     
    219220         * self-sufficient.
    220221         */
    221         sysinfo_set_item_val("kbd", NULL, true);
    222         sysinfo_set_item_val("kbd.inr", NULL, IRQ_KBD);
    223         sysinfo_set_item_val("kbd.address.physical", NULL,
     222        sysinfo_set_item_val("i8042", NULL, true);
     223        sysinfo_set_item_val("i8042.inr_a", NULL, IRQ_KBD);
     224        sysinfo_set_item_val("i8042.inr_b", NULL, IRQ_MOUSE);
     225        sysinfo_set_item_val("i8042.address.physical", NULL,
    224226            (uintptr_t) I8042_BASE);
    225         sysinfo_set_item_val("kbd.address.kernel", NULL,
     227        sysinfo_set_item_val("i8042.address.kernel", NULL,
    226228            (uintptr_t) I8042_BASE);
    227229#endif
  • kernel/arch/ia32/src/ia32.c

    r23efd30 reca2435  
    170170                        i8042_wire(i8042_instance, kbrd);
    171171                        trap_virtual_enable_irqs(1 << IRQ_KBD);
     172                        trap_virtual_enable_irqs(1 << IRQ_MOUSE);
    172173                }
    173174        }
     
    177178         * self-sufficient.
    178179         */
    179         sysinfo_set_item_val("kbd", NULL, true);
    180         sysinfo_set_item_val("kbd.inr", NULL, IRQ_KBD);
    181         sysinfo_set_item_val("kbd.address.physical", NULL,
     180        sysinfo_set_item_val("i8042", NULL, true);
     181        sysinfo_set_item_val("i8042.inr_a", NULL, IRQ_KBD);
     182        sysinfo_set_item_val("i8042.inr_b", NULL, IRQ_MOUSE);
     183        sysinfo_set_item_val("i8042.address.physical", NULL,
    182184            (uintptr_t) I8042_BASE);
    183         sysinfo_set_item_val("kbd.address.kernel", NULL,
     185        sysinfo_set_item_val("i8042.address.kernel", NULL,
    184186            (uintptr_t) I8042_BASE);
    185187#endif
  • uspace/srv/hid/console/gcons.c

    r23efd30 reca2435  
    241241
    242242/** Return x, where left <= x <= right && |a-x| == min(|a-x|) is smallest */
    243 static inline int limit(size_t a, size_t left, size_t right)
     243static inline ssize_t limit(ssize_t a, ssize_t left, ssize_t right)
    244244{
    245245        if (a < left)
     
    261261        mouse_x = limit(mouse_x + dx, 0, xres);
    262262        mouse_y = limit(mouse_y + dy, 0, yres);
    263        
    264         async_msg_2(fbphone, FB_POINTER_MOVE, mouse_x, mouse_y);
     263
     264        if (active_console != KERNEL_CONSOLE)
     265                async_msg_2(fbphone, FB_POINTER_MOVE, mouse_x, mouse_y);
    265266}
    266267
  • uspace/srv/hw/char/i8042/i8042.c

    r23efd30 reca2435  
    169169        void *vaddr;
    170170
    171         i8042_physical = sysinfo_value("kbd.address.physical");
    172         i8042_kernel = sysinfo_value("kbd.address.kernel");
     171        i8042_physical = sysinfo_value("i8042.address.physical");
     172        i8042_kernel = sysinfo_value("i8042.address.kernel");
    173173        if (pio_enable((void *) i8042_physical, sizeof(i8042_t), &vaddr) != 0)
    174174                return -1;
     
    193193        i8042_kbd.cmds[0].addr = (void *) &((i8042_t *) i8042_kernel)->status;
    194194        i8042_kbd.cmds[3].addr = (void *) &((i8042_t *) i8042_kernel)->data;
    195         ipc_register_irq(sysinfo_value("kbd.inr"), device_assign_devno(), 0, &i8042_kbd);
    196         ipc_register_irq(sysinfo_value("mouse.inr"), device_assign_devno(), 0, &i8042_kbd);
     195        ipc_register_irq(sysinfo_value("i8042.inr_a"), device_assign_devno(), 0, &i8042_kbd);
     196        ipc_register_irq(sysinfo_value("i8042.inr_b"), device_assign_devno(), 0, &i8042_kbd);
    197197
    198198        pio_write_8(&i8042->status, i8042_CMD_WRITE_CMDB);
     
    208208static void i8042_connection(ipc_callid_t iid, ipc_call_t *icall)
    209209{
    210         void *fs_va = NULL;
    211210        ipc_callid_t callid;
    212211        ipc_call_t call;
    213212        ipcarg_t method;
    214213        dev_handle_t dh;
    215         int flags;
    216214        int retval;
    217         size_t cnt;
    218215        int dev_id, i;
    219216
     
    225222        /* Determine which disk device is the client connecting to. */
    226223        dev_id = -1;
    227         for (i = 0; i < MAX_DEVS; i++)
     224        for (i = 0; i < MAX_DEVS; i++) {
    228225                if (i8042_port[i].dev_handle == dh)
    229226                        dev_id = i;
    230 
    231         if (dev_id < 0/* || disk[dev_id].present == false*/) {
     227        }
     228
     229        if (dev_id < 0) {
    232230                ipc_answer_0(iid, EINVAL);
    233231                return;
Note: See TracChangeset for help on using the changeset viewer.