/[qemu]/qemu/hw/serial.c
ViewVC logotype

Diff of /qemu/hw/serial.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.7 by bellard, Tue Aug 24 21:55:28 2004 UTC revision 1.8 by bellard, Sun Nov 6 15:48:04 2005 UTC
# Line 258  static void serial_event(void *opaque, i Line 258  static void serial_event(void *opaque, i
258          serial_receive_break(s);          serial_receive_break(s);
259  }  }
260    
261    static void serial_save(QEMUFile *f, void *opaque)
262    {
263        SerialState *s = opaque;
264    
265        qemu_put_8s(f,&s->divider);
266        qemu_put_8s(f,&s->rbr);
267        qemu_put_8s(f,&s->ier);
268        qemu_put_8s(f,&s->iir);
269        qemu_put_8s(f,&s->lcr);
270        qemu_put_8s(f,&s->mcr);
271        qemu_put_8s(f,&s->lsr);
272        qemu_put_8s(f,&s->msr);
273        qemu_put_8s(f,&s->scr);
274    }
275    
276    static int serial_load(QEMUFile *f, void *opaque, int version_id)
277    {
278        SerialState *s = opaque;
279    
280        if(version_id != 1)
281            return -EINVAL;
282    
283        qemu_get_8s(f,&s->divider);
284        qemu_get_8s(f,&s->rbr);
285        qemu_get_8s(f,&s->ier);
286        qemu_get_8s(f,&s->iir);
287        qemu_get_8s(f,&s->lcr);
288        qemu_get_8s(f,&s->mcr);
289        qemu_get_8s(f,&s->lsr);
290        qemu_get_8s(f,&s->msr);
291        qemu_get_8s(f,&s->scr);
292    
293        return 0;
294    }
295    
296  /* If fd is zero, it means that the serial device uses the console */  /* If fd is zero, it means that the serial device uses the console */
297  SerialState *serial_init(int base, int irq, CharDriverState *chr)  SerialState *serial_init(int base, int irq, CharDriverState *chr)
298  {  {
# Line 270  SerialState *serial_init(int base, int i Line 305  SerialState *serial_init(int base, int i
305      s->lsr = UART_LSR_TEMT | UART_LSR_THRE;      s->lsr = UART_LSR_TEMT | UART_LSR_THRE;
306      s->iir = UART_IIR_NO_INT;      s->iir = UART_IIR_NO_INT;
307    
308        register_savevm("serial", base, 1, serial_save, serial_load, s);
309    
310      register_ioport_write(base, 8, 1, serial_ioport_write, s);      register_ioport_write(base, 8, 1, serial_ioport_write, s);
311      register_ioport_read(base, 8, 1, serial_ioport_read, s);      register_ioport_read(base, 8, 1, serial_ioport_read, s);
312      s->chr = chr;      s->chr = chr;

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.8

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26