summaryrefslogtreecommitdiff
path: root/arch/sparc64/kernel/viohs.c
Commit message (Collapse)AuthorAgeFilesLines
* viohs: extern on function definitionAl Viro2007-07-261-1/+1
| | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* [SPARC64]: Set vio->desc_buf to NULL after freeing.David S. Miller2007-07-181-0/+1
| | | | | | Otherwise we trigger assertions on the next link-up. Signed-off-by: David S. Miller <davem@davemloft.net>
* [SPARC64]: Handle reset events in vio_link_state_change().David S. Miller2007-07-181-0/+29
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* [SPARC64]: Abstract out mdesc accesses for better MD update handling.David S. Miller2007-07-161-26/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since we have to be able to handle MD updates, having an in-tree set of data structures representing the MD objects actually makes things more painful. The MD itself is easy to parse, and we can implement the existing interfaces using direct parsing of the MD binary image. The MD is now reference counted, so accesses have to now take the form: handle = mdesc_grab(); ... operations on MD ... mdesc_release(handle); The only remaining issue are cases where code holds on to references to MD property values. mdesc_get_property() returns a direct pointer to the property value, most cases just pull in the information they need and discard the pointer, but there are few that use the pointer directly over a long lifetime. Those will be fixed up in a subsequent changeset. A preliminary handler for MD update events from domain services is there, it is rudimentry but it works and handles all of the reference counting. It does not check the generation number of the MDs, and it does not generate a "add/delete" list for notification to interesting parties about MD changes but that will be forthcoming. Signed-off-by: David S. Miller <davem@davemloft.net>
* [SPARC64]: Use more mearningful names for IRQ registry.David S. Miller2007-07-161-1/+1
| | | | | | | | | All of the interrupts say "LDX RX" and "LDX TX" currently which is next to useless. Put a device specific prefix before "RX" and "TX" instead which makes it much more useful. Signed-off-by: David S. Miller <davem@davemloft.net>
* [SPARC64]: Add LDOM virtual channel driver and VIO device layer.David S. Miller2007-07-161-0/+809
Virtual devices on Sun Logical Domains are built on top of a virtual channel framework. This, with help of hypervisor interfaces, provides a link layer protocol with basic handshaking over which virtual device clients and servers communicate. Built on top of this is a VIO device protocol which has it's own handshaking and message types. At this layer attributes are exchanged (disk size, network device addresses, etc.) descriptor rings are registered, and data transfers are triggers and replied to. Signed-off-by: David S. Miller <davem@davemloft.net>