Uploaded image for project: 'OASIS Virtual I/O Device (VIRTIO) TC'
  1. OASIS Virtual I/O Device (VIRTIO) TC
  2. VIRTIO-93

VIRTIO Spec feedback #3 From: Pranavkumar Sawargaonkar

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: virtio 1.0 csprd01
    • Fix Version/s: virtio 1.0 csprd02
    • Labels:
      None
    • Proposal:
      Hide

      diff --git a/content.tex b/content.tex
      index 17d1bd7..96645df 100644
      — a/content.tex
      +++ b/content.tex
      @@ -3225,6 +3225,9 @@ data and outgoing characters are placed in the transmit queue.
      \item[VIRTIO_CONSOLE_F_MULTIPORT (1)] Device has support for multiple
      ports; configuration fields nr_ports and max_nr_ports are
      valid and control virtqueues will be used.
      +
      +\item[VIRTIO_CONSOLE_F_EMERG_WRITE (2)] Device has support for emergency write.
      + Configuration field emerg_wr is valid.
      \end

      {description}

      \subsection

      {Device configuration layout}

      \label

      {sec:Device Types / Console Device / Device configuration layout}

      @@ -3235,11 +3238,16 @@ data and outgoing characters are placed in the transmit queue.
      is set, the maximum number of ports supported by the device can
      be fetched.

      + If VIRTIO_CONSOLE_F_EMERG_WRITE is set then the driver can use emergency write
      + to output a single character without initializing virtio queues, or even
      + acknowledging the feature.
      +
      \begin

      {lstlisting}
      struct virtio_console_config { le16 cols; le16 rows; le32 max_nr_ports; + le32 emerg_wr; };
      \end{lstlisting}

      @@ -3250,6 +3258,11 @@ native endian of the guest rather than (necessarily) little-endian.
      \subsection

      {Device Initialization}

      \label

      {sec:Device Types / Console Device / Device Initialization}

      \begin

      {enumerate}

      +\item If the VIRTIO_CONSOLE_F_EMERG_WRITE feature is offered, the
      + emerg_wr field of the configuration can be written at any time.
      + Thus it should work for very early boot debugging output as well as
      + catastophic OS failures (eg. virtio ring corruption).
      +
      \item If the VIRTIO_CONSOLE_F_SIZE feature is negotiated, the driver
      can read the console dimensions from the configuration fields.

      Show
      diff --git a/content.tex b/content.tex index 17d1bd7..96645df 100644 — a/content.tex +++ b/content.tex @@ -3225,6 +3225,9 @@ data and outgoing characters are placed in the transmit queue. \item [VIRTIO_CONSOLE_F_MULTIPORT (1)] Device has support for multiple ports; configuration fields nr_ports and max_nr_ports are valid and control virtqueues will be used. + +\item [VIRTIO_CONSOLE_F_EMERG_WRITE (2)] Device has support for emergency write. + Configuration field emerg_wr is valid. \end {description} \subsection {Device configuration layout} \label {sec:Device Types / Console Device / Device configuration layout} @@ -3235,11 +3238,16 @@ data and outgoing characters are placed in the transmit queue. is set, the maximum number of ports supported by the device can be fetched. + If VIRTIO_CONSOLE_F_EMERG_WRITE is set then the driver can use emergency write + to output a single character without initializing virtio queues, or even + acknowledging the feature. + \begin {lstlisting} struct virtio_console_config { le16 cols; le16 rows; le32 max_nr_ports; + le32 emerg_wr; }; \end{lstlisting} @@ -3250,6 +3258,11 @@ native endian of the guest rather than (necessarily) little-endian. \subsection {Device Initialization} \label {sec:Device Types / Console Device / Device Initialization} \begin {enumerate} +\item If the VIRTIO_CONSOLE_F_EMERG_WRITE feature is offered, the + emerg_wr field of the configuration can be written at any time. + Thus it should work for very early boot debugging output as well as + catastophic OS failures (eg. virtio ring corruption). + \item If the VIRTIO_CONSOLE_F_SIZE feature is negotiated, the driver can read the console dimensions from the configuration fields.
    • Resolution:
      Hide

      Decision: Agreed at meeting 2014-01-28.
      revision r197

      Show
      Decision: Agreed at meeting 2014-01-28. revision r197

      Description

      Date: Tue, 21 Jan 2014 15:09:54 +0530
      Link to Mail: https://lists.oasis-open.org/archives/virtio-comment/201401/msg00037.html
      Commenter name: Pranavkumar Sawargaonkar <pranavkumar@linaro.org>

      This patch updates virtio spec lyx for adding emergency write to
      virtio console.

      Original patch series related to this is -:
      http://lkml.org/lkml/2013/5/6/167

      Signed-off-by: Pranavkumar Sawargaonkar <pranavkumar@linaro.org>
      Signed-off-by: Anup Patel <anup.patel@linaro.org>
      Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              mstsirkin Michael Tsirkin (Inactive)
            • Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: