qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH V2 2/6] hw/mdio: Generalize etraxfs MDIO bitbang


From: Andreas Färber
Subject: Re: [Qemu-devel] [PATCH V2 2/6] hw/mdio: Generalize etraxfs MDIO bitbanging emulation (fwd)
Date: Sat, 26 Jan 2013 13:42:41 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130105 Thunderbird/17.0.2

Am 25.01.2013 19:00, schrieb Paul Brook:
>> 1. It's not point-to-point, has an arbitrary nr of connection points.
> 
> QoM currently only does asymmetric 1-1 connections between objects.  However 
> I 
> don't think this is a fatal problem.  We can still retain an asymmetric API 
> (effectively equivalent to male and female physical connectors), adding 
> virtual "wire" objects where they don't match up.  It should be possible to 
> implement this as a backward compatible extension to qemu_irq[1].  In most 
> cases the additional wire should not be needed.

This sounds pretty much like Anthony's Pin series, no? He had shown some
of us a preview git branch but Peter didn't like the amount of
boilerplate code to use it IIRC. Haven't heard any update since...

Andreas

> For simple output->input (i.e. all existing code) we just need to ignore Z 
> states.  Preferably before they get to the input device.
> 
> For simple bidirectional point-point lines (which should include bitbang-i2c 
> and bitbang-mdio) the bitbang object controls the value when subject to a Z 
> output.
> 
> For arbitrary pin connections they all connect to a set of ports on a virtual 
> wire device.  It takes care of arbitrating line state and sending 
> notifications to the connected devices.
> 
> There are a couple of technical issues:
> 
> Fristly qemu_irq is currently stateless[2].  Giving it state is fine in 
> principle, but means a lot of load/save code needs fixing.  In pactice we can 
> probably avoid this, but there are some nice benefits from keeping state in 
> qemu_irq.
> 
> Secondly, the [parent of the] qemu_irq object needs to be able to signal 
> value 
> changes to the object on the other side of the link. Currently QoM allows a 
> property to be linked to an object, but provides no way for the object to 
> identify/communicate with the property/device linked to it.
> 
> 
> Paul
> 
> [1] I've no particular attachment to the name qemu_irq.  But I really don't 
> want to have to make anything other than purely mechanical changes to all its 
> users.
> [2] More precicely it has no state that changes over its lifetime.

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg



reply via email to

[Prev in Thread] Current Thread [Next in Thread]