Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 91752a9c authored by David S. Miller's avatar David S. Miller
Browse files

Merge branch 'sparc64-vcc'



Jag Raman says:

====================
sparc64: Enable Virtual Console Concentrator (VCC)

Patchset to enable Virtual Console Concentrator (VCC). VCC provides
access to the serial console of a guest domain. It creates a RAW
VIO/LDC link between the guest domain & primary through which serial
console data is shared.

This set addresses feedback provided by Dave Miller. Cleanup of
driver state is also addressed in this set. Patches updated
are 4, 5, 6 & 7.
====================

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents fa5dc772 8f03f948
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -12294,6 +12294,7 @@ F: drivers/tty/serial/sunsab.h
F:	drivers/tty/serial/sunsu.c
F:	drivers/tty/serial/sunzilog.c
F:	drivers/tty/serial/sunzilog.h
F:	drivers/tty/vcc.c

SPARSE CHECKER
M:	"Christopher Li" <sparse@chrisli.org>
+1 −0
Original line number Diff line number Diff line
@@ -238,3 +238,4 @@ CONFIG_CRYPTO_TWOFISH=m
# CONFIG_CRYPTO_ANSI_CPRNG is not set
CONFIG_CRC16=m
CONFIG_LIBCRC32C=m
CONFIG_VCC=m
+9 −0
Original line number Diff line number Diff line
@@ -52,6 +52,7 @@ struct vio_ver_info {
#define VDEV_NETWORK_SWITCH	0x02
#define VDEV_DISK		0x03
#define VDEV_DISK_SERVER	0x04
#define VDEV_CONSOLE_CON	0x05

	u8			resv1[3];
	u64			resv2[5];
@@ -282,6 +283,14 @@ struct vio_dring_state {
	struct ldc_trans_cookie	cookies[VIO_MAX_RING_COOKIES];
};

#define VIO_TAG_SIZE		((int)sizeof(struct vio_msg_tag))
#define VIO_VCC_MTU_SIZE	(LDC_PACKET_SIZE - VIO_TAG_SIZE)

struct vio_vcc {
	struct vio_msg_tag	tag;
	char			data[VIO_VCC_MTU_SIZE];
};

static inline void *vio_dring_cur(struct vio_dring_state *dr)
{
	return dr->base + (dr->entry_size * dr->prod);
+2 −0
Original line number Diff line number Diff line
@@ -1480,6 +1480,7 @@ int ldc_rx_reset(struct ldc_channel *lp)
{
	return __set_rx_head(lp, lp->rx_tail);
}
EXPORT_SYMBOL(ldc_rx_reset);

void __ldc_print(struct ldc_channel *lp, const char *caller)
{
@@ -1493,6 +1494,7 @@ void __ldc_print(struct ldc_channel *lp, const char *caller)
		lp->tx_head, lp->tx_tail, lp->tx_num_entries,
		lp->rcv_nxt, lp->snd_nxt);
}
EXPORT_SYMBOL(__ldc_print);

static int write_raw(struct ldc_channel *lp, const void *buf, unsigned int size)
{
+1 −0
Original line number Diff line number Diff line
@@ -246,6 +246,7 @@ u64 vio_vdev_node(struct mdesc_handle *hp, struct vio_dev *vdev)

	return node;
}
EXPORT_SYMBOL(vio_vdev_node);

static void vio_fill_channel_info(struct mdesc_handle *hp, u64 mp,
				  struct vio_dev *vdev)
Loading