Changeset 9754ed2 in mainline


Ignore:
Timestamp:
2021-12-22T20:47:11Z (3 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
59768c7
Parents:
dbc1398
Message:

Make user-space mouse/keyboard work on Qemu sun4u machine

Now we can run it in graphical mode. Still need to add kernel keyboard
support for this strange hybrid machine.

Files:
5 edited

Legend:

Unmodified
Added
Removed
  • meson/arch/sparc64/meson.build

    rdbc1398 r9754ed2  
    7676endif
    7777
    78 
    7978if PROCESSOR == 'sun4v'
    8079        rd_essential_drv += [
     
    8988                'drv/intctl/obio',
    9089                'drv/char/ns8250',
     90                'drv/char/i8042',
     91                'drv/hid/ps2mouse',
     92                'drv/hid/xtkbd',
    9193        ]
    9294endif
  • tools/ew.py

    rdbc1398 r9754ed2  
    173173                        raise Exception
    174174                if processor == 'us':
    175                         return 'system-sparc64', '-M sun4u --prom-env boot-args="console=devices/\\hw\\pci0\\01:01.0\\com1\\a"'
     175                        return 'system-sparc64', '-M sun4u'
    176176
    177177                # processor = 'sun4v'
     
    410410                                'image' : 'image.iso',
    411411                                'audio' : False,
    412                                 'console' : True,
    413412                                'net' : False,
    414413                                'usb' : False,
  • uspace/drv/bus/isa/ebus.dev

    rdbc1398 r9754ed2  
    33        irq 2027
    44        io_range 3f8 8
     5
     6i8042:
     7        match 100 isa/i8042
     8        irq 2025
     9        irq 2026
     10        io_range 060 5
  • uspace/drv/char/i8042/i8042.c

    rdbc1398 r9754ed2  
    22 * Copyright (c) 2001-2004 Jakub Jermar
    33 * Copyright (c) 2006 Josef Cejka
    4  * Copyright (c) 2017 Jiri Svoboda
     4 * Copyright (c) 2021 Jiri Svoboda
    55 * Copyright (c) 2011 Jan Vesely
    66 * All rights reserved.
     
    146146        fibril_mutex_unlock(&port->buf_lock);
    147147        fibril_condvar_broadcast(&port->buf_cv);
     148
     149        async_sess_t *parent_sess = ddf_dev_parent_sess_get(dev);
     150        hw_res_clear_interrupt(parent_sess, port->irq);
    148151}
    149152
     
    202205        dev->kbd->cds.ops = &i8042_chardev_ops;
    203206        dev->kbd->cds.sarg = dev->kbd;
     207        dev->kbd->irq = irq_kbd;
    204208        fibril_mutex_initialize(&dev->kbd->buf_lock);
    205209        fibril_condvar_initialize(&dev->kbd->buf_cv);
     
    226230        dev->aux->cds.ops = &i8042_chardev_ops;
    227231        dev->aux->cds.sarg = dev->aux;
     232        dev->aux->irq = irq_mouse;
    228233        fibril_mutex_initialize(&dev->aux->buf_lock);
    229234        fibril_condvar_initialize(&dev->aux->buf_cv);
  • uspace/drv/char/i8042/i8042.h

    rdbc1398 r9754ed2  
    7676        /** Signal new data in buffer */
    7777        fibril_condvar_t buf_cv;
     78        /** Interrupt number */
     79        int irq;
    7880} i8042_port_t;
    7981
Note: See TracChangeset for help on using the changeset viewer.