Index: kernel/arch/sparc64/src/drivers/niagara.c
===================================================================
--- kernel/arch/sparc64/src/drivers/niagara.c	(revision 24abb85d299db39cc03f429adc41bb1ed4f23e23)
+++ kernel/arch/sparc64/src/drivers/niagara.c	(revision d9ec808b547e5990edc7280d9d8399acd2a5d86f)
@@ -42,4 +42,5 @@
 #include <arch.h>
 #include <mm/slab.h>
+#include <arch/drivers/niagara_buf.h>
 #include <arch/drivers/kbd.h>
 #include <arch/sun4v/hypercall.h>
@@ -81,11 +82,6 @@
  * buffer definition follows.
  */
-#define OUTPUT_BUFFER_SIZE  ((PAGE_SIZE) - 2 * 8)
-
-static volatile struct {
-	uint64_t read_ptr;
-	uint64_t write_ptr;
-	char data[OUTPUT_BUFFER_SIZE];
-} __attribute__ ((packed)) __attribute__ ((aligned(PAGE_SIZE))) output_buffer;
+static volatile niagara_output_buffer_t __attribute__ ((aligned(PAGE_SIZE)))
+    output_buffer;
 
 static parea_t outbuf_parea;
@@ -94,11 +90,6 @@
  * Analogous to the output_buffer, see the previous definition.
  */
-#define INPUT_BUFFER_SIZE  ((PAGE_SIZE) - 2 * 8)
-
-static volatile struct {
-	uint64_t write_ptr;
-	uint64_t read_ptr;
-	char data[INPUT_BUFFER_SIZE];
-} __attribute__ ((packed)) __attribute__ ((aligned(PAGE_SIZE))) input_buffer;
+static volatile niagara_input_buffer_t __attribute__ ((aligned(PAGE_SIZE)))
+    input_buffer;
 
 static parea_t inbuf_parea;
