--- trunk/src/devices/dev_cons.c 2007/10/08 16:19:28 21 +++ trunk/src/devices/dev_cons.c 2007/10/08 16:19:37 22 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2003-2005 Anders Gavare. All rights reserved. + * Copyright (C) 2003-2006 Anders Gavare. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -25,7 +25,7 @@ * SUCH DAMAGE. * * - * $Id: dev_cons.c,v 1.28 2005/11/13 00:14:08 debug Exp $ + * $Id: dev_cons.c,v 1.33 2006/02/09 20:02:59 debug Exp $ * * A simple console device, useful for simple tests. * @@ -69,12 +69,10 @@ /* * dev_cons_access(): */ -int dev_cons_access(struct cpu *cpu, struct memory *mem, - uint64_t relative_addr, unsigned char *data, size_t len, - int writeflag, void *extra) +DEVICE_ACCESS(cons) { struct cons_data *d = extra; - int i; + unsigned int i; /* Exit the emulator: */ if (relative_addr == DEV_CONS_HALT) { @@ -112,10 +110,7 @@ } -/* - * devinit_cons(): - */ -int devinit_cons(struct devinit *devinit) +DEVINIT(cons) { struct cons_data *d; char *name3; @@ -142,7 +137,9 @@ snprintf(name3, nlen, "%s", devinit->name); d->irq_nr = devinit->irq_nr; - d->console_handle = console_start_slave(devinit->machine, name3); + d->in_use = devinit->in_use; + d->console_handle = console_start_slave(devinit->machine, name3, + d->in_use); memory_device_register(devinit->machine->memory, name3, devinit->addr, DEV_CONS_LENGTH, dev_cons_access, d, @@ -150,7 +147,8 @@ machine_add_tickfunction(devinit->machine, dev_cons_tick, d, CONS_TICK_SHIFT); - devinit->return_ptr = d; + /* NOTE: Ugly cast into pointer */ + devinit->return_ptr = (void *)(size_t)d->console_handle; return 1; }