On Wed, 2 Dec 2009, H. Peter Anvin wrote:

> Add generic support for debugging consoles (simple I/O ports which
> when written to cause debugging output to be written to a target.)
> The current implementation matches Bochs' port 0xe9, allowing the same
> debugging code to be used for both Bochs and Qemu.
> 
> There is no vm state associated with the debugging port, simply
> because it has none -- the entire interface is a single, stateless,
> write-only port.
> 
> Most of the code was cribbed from the serial port driver.
> 
> v2: removed non-ISA variants (they can be introduced when/if someone
> wants them, using code from the serial port); added configurable
> readback (Bochs returns 0xe9 on a read from this register, mimic that
> by default)  This retains the apparently somewhat controversial user
> friendly option, however.
> 
> v3: reimplemented the user friendly option as a synthetic option
> ("-debugcon foo" basically ends up being a parser-level shorthand for
> "-chardev stdio,id=debugcon -device isa-debugcon,chardev=debugcon") --
> this dramatically reduced the complexity while keeping the same level
> of user friendliness.
> 

[..snip..]

> +
> +static ISADeviceInfo debugcon_isa_info = {
> +    .qdev.name  = "isa-debugcon",
> +    .qdev.size  = sizeof(ISADebugconState),
> +    .init       = debugcon_isa_initfn,
> +    .qdev.props = (Property[]) {
> +        DEFINE_PROP_HEX32("iobase", ISADebugconState, iobase, 0xe9),
> +        DEFINE_PROP_CHR("chardev",  ISADebugconState, state.chr),
> +     DEFINE_PROP_HEX32("readback", ISADebugconState, state.readback, 0xe9),
> +        DEFINE_PROP_END_OF_LIST(),
> +    },
> +};

The above is tab damaged.

[..snip..]

-- 
mailto:av1...@comtv.ru


Reply via email to