Преглед на файлове

powerpc/powernv: Add invalid OPAL call

This call will not be understood by OPAL, and cause it to add an error
to it's log. Among other things, this is useful for testing the
behaviour of the log as it fills up.

Signed-off-by: Joel Stanley <joel@jms.id.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Joel Stanley преди 11 години
родител
ревизия
e28b05e7ae
променени са 3 файла, в които са добавени 6 реда и са изтрити 0 реда
  1. 2 0
      arch/powerpc/include/asm/opal.h
  2. 1 0
      arch/powerpc/platforms/powernv/opal-wrappers.S
  3. 3 0
      arch/powerpc/platforms/powernv/opal.c

+ 2 - 0
arch/powerpc/include/asm/opal.h

@@ -87,6 +87,7 @@ extern int opal_enter_rtas(struct rtas_args *args,
 #define OPAL_ASYNC_COMPLETION	-15
 
 /* API Tokens (in r0) */
+#define OPAL_INVALID_CALL			-1
 #define OPAL_CONSOLE_WRITE			1
 #define OPAL_CONSOLE_READ			2
 #define OPAL_RTC_READ				3
@@ -734,6 +735,7 @@ extern struct kobject *opal_kobj;
 extern struct device_node *opal_node;
 
 /* API functions */
+int64_t opal_invalid_call(void);
 int64_t opal_console_write(int64_t term_number, __be64 *length,
 			   const uint8_t *buffer);
 int64_t opal_console_read(int64_t term_number, __be64 *length,

+ 1 - 0
arch/powerpc/platforms/powernv/opal-wrappers.S

@@ -61,6 +61,7 @@ _STATIC(opal_return)
 	mtcr	r4;
 	rfid
 
+OPAL_CALL(opal_invalid_call,			OPAL_INVALID_CALL);
 OPAL_CALL(opal_console_write,			OPAL_CONSOLE_WRITE);
 OPAL_CALL(opal_console_read,			OPAL_CONSOLE_READ);
 OPAL_CALL(opal_console_write_buffer_space,	OPAL_CONSOLE_WRITE_BUFFER_SPACE);

+ 3 - 0
arch/powerpc/platforms/powernv/opal.c

@@ -635,3 +635,6 @@ void opal_shutdown(void)
 			mdelay(10);
 	}
 }
+
+/* Export this so that test modules can use it */
+EXPORT_SYMBOL_GPL(opal_invalid_call);