patch-2.4.20 linux-2.4.20/include/asm-ppc64/rtas.h
Next file: linux-2.4.20/include/asm-ppc64/semaphore.h
Previous file: linux-2.4.20/include/asm-ppc64/prom.h
Back to the patch index
Back to the overall index
- Lines: 55
- Date:
Thu Nov 28 15:53:15 2002
- Orig file:
linux-2.4.19/include/asm-ppc64/rtas.h
- Orig date:
Fri Aug 2 17:39:45 2002
diff -urN linux-2.4.19/include/asm-ppc64/rtas.h linux-2.4.20/include/asm-ppc64/rtas.h
@@ -2,6 +2,7 @@
#define _PPC64_RTAS_H
#include <linux/spinlock.h>
+#include <asm/page.h>
/*
* Definitions for talking to the RTAS on CHRP machines.
@@ -16,6 +17,8 @@
*/
#define RTAS_UNKNOWN_SERVICE (-1)
+#define RTAS_INSTANTIATE_MAX (1UL<<30) /* Don't instantiate rtas at/above this value */
+
/*
* In general to call RTAS use rtas_token("string") to lookup
* an RTAS token for the given string (e.g. "event-scan").
@@ -128,6 +131,29 @@
unsigned char buffer[1]; /* allocated by klimit bump */
};
+struct flash_block {
+ char *data;
+ unsigned long length;
+};
+
+/* This struct is very similar but not identical to
+ * that needed by the rtas flash update.
+ * All we need to do for rtas is rewrite num_blocks
+ * into a version/length and translate the pointers
+ * to absolute.
+ */
+#define FLASH_BLOCKS_PER_NODE ((PAGE_SIZE - 16) / sizeof(struct flash_block))
+struct flash_block_list {
+ unsigned long num_blocks;
+ struct flash_block_list *next;
+ struct flash_block blocks[FLASH_BLOCKS_PER_NODE];
+};
+struct flash_block_list_header { /* just the header of flash_block_list */
+ unsigned long num_blocks;
+ struct flash_block_list *next;
+};
+extern struct flash_block_list_header rtas_firmware_flash_list;
+
extern struct rtas_t rtas;
extern void enter_rtas(struct rtas_args *);
@@ -140,4 +166,7 @@
extern void rtas_power_off(void);
extern void rtas_halt(void);
+extern struct proc_dir_entry *rtas_proc_dir;
+
+
#endif /* _PPC64_RTAS_H */
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)