summaryrefslogtreecommitdiffstats
path: root/qemu/roms/openbios/utils/ofclient/of1275.h
diff options
context:
space:
mode:
authorYang Zhang <yang.z.zhang@intel.com>2015-08-28 09:58:54 +0800
committerYang Zhang <yang.z.zhang@intel.com>2015-09-01 12:44:00 +0800
commite44e3482bdb4d0ebde2d8b41830ac2cdb07948fb (patch)
tree66b09f592c55df2878107a468a91d21506104d3f /qemu/roms/openbios/utils/ofclient/of1275.h
parent9ca8dbcc65cfc63d6f5ef3312a33184e1d726e00 (diff)
Add qemu 2.4.0
Change-Id: Ic99cbad4b61f8b127b7dc74d04576c0bcbaaf4f5 Signed-off-by: Yang Zhang <yang.z.zhang@intel.com>
Diffstat (limited to 'qemu/roms/openbios/utils/ofclient/of1275.h')
-rw-r--r--qemu/roms/openbios/utils/ofclient/of1275.h437
1 files changed, 437 insertions, 0 deletions
diff --git a/qemu/roms/openbios/utils/ofclient/of1275.h b/qemu/roms/openbios/utils/ofclient/of1275.h
new file mode 100644
index 000000000..a73bb19a8
--- /dev/null
+++ b/qemu/roms/openbios/utils/ofclient/of1275.h
@@ -0,0 +1,437 @@
+/* OpenFirmware interface */
+
+
+/* 6.3.2.1 Client interface */
+
+
+typedef struct _of1275_test_service {
+ const char *service;
+ int n_args;
+ int n_returns;
+ /*in */
+ const char *name;
+ /*out */
+ int missing;
+} of1275_test_service;
+
+int of1275_test(const char *name, int *missing);
+
+
+/* 6.3.2.2 Device tree */
+
+
+typedef struct _of1275_peer_service {
+ const char *service;
+ int n_args;
+ int n_returns;
+ /*in */
+ int phandle;
+ /*out */
+ int sibling_phandle;
+} of1275_peer_service;
+
+int of1275_peer(int phandle, int *sibling_phandle);
+
+
+typedef struct _of1275_child_service {
+ const char *service;
+ int n_args;
+ int n_returns;
+ /*in */
+ int phandle;
+ /*out */
+ int child_phandle;
+} of1275_child_service;
+
+int of1275_child(int phandle, int *child_phandle);
+
+
+typedef struct _of1275_parent_service {
+ const char *service;
+ int n_args;
+ int n_returns;
+ /*in */
+ int phandle;
+ /*out */
+ int parent_phandle;
+} of1275_parent_service;
+
+int of1275_child(int phandle, int *parent_phandle);
+
+
+typedef struct _of1275_instance_to_package_service {
+ const char *service;
+ int n_args;
+ int n_returns;
+ /*in */
+ int ihandle;
+ /*out */
+ int phandle;
+} of1275_instance_to_package_service;
+
+int of1275_instance_to_package(int ihandle, int *phandle);
+
+
+typedef struct _of1275_getproplen_service {
+ const char *service;
+ int n_args;
+ int n_returns;
+ /*in */
+ int phandle;
+ const char *name;
+ /*out */
+ int proplen;
+} of1275_getproplen_service;
+
+int of1275_getproplen(int phandle, const char *name, int *proplen);
+
+
+typedef struct _of1275_getprop_service {
+ const char *service;
+ int n_args;
+ int n_returns;
+ /*in */
+ int phandle;
+ const char *name;
+ void *buf;
+ int buflen;
+ /*out */
+ int size;
+} of1275_getprop_service;
+
+int of1275_getprop(int phandle, const char *name, void *buf, int buflen,
+ int *size);
+
+
+typedef struct _of1275_nextprop_service {
+ const char *service;
+ int n_args;
+ int n_returns;
+ /*in */
+ int phandle;
+ const char *previous;
+ void *buf;
+ /*out */
+ int flag;
+} of1275_nextprop_service;
+
+int of1275_nextprop(int phandle, const char *previous, void *buf,
+ int *flag);
+
+
+typedef struct _of1275_setprop_service {
+ const char *service;
+ int n_args;
+ int n_returns;
+ /*in */
+ int phandle;
+ const char *name;
+ void *buf;
+ int len;
+ /*out */
+ int size;
+} of1275_setprop_service;
+
+int of1275_setprop(int phandle, const char *name, void *buf, int len,
+ int *size);
+
+
+typedef struct _of1275_canon_service {
+ const char *service;
+ int n_args;
+ int n_returns;
+ /*in */
+ const char *device_specifier;
+ void *buf;
+ int buflen;
+ /*out */
+ int length;
+} of1275_canon_service;
+
+int of1275_canon(const char *device_specifier, void *buf, int buflen,
+ int *length);
+
+
+typedef struct _of1275_finddevice_service {
+ const char *service;
+ int n_args;
+ int n_returns;
+ /*in */
+ const char *device_specifier;
+ /*out */
+ int phandle;
+} of1275_finddevice_service;
+
+int of1275_finddevice(const char *device_specifier, int *phandle);
+
+
+typedef struct _of1275_instance_to_path_service {
+ const char *service;
+ int n_args;
+ int n_returns;
+ /*in */
+ int ihandle;
+ void *buf;
+ int buflen;
+ /*out */
+ int length;
+} of1275_instance_to_path_service;
+
+int of1275_instance_to_path(int ihandle, void *buf, int buflen,
+ int *length);
+
+
+typedef struct _of1275_package_to_path_service {
+ const char *service;
+ int n_args;
+ int n_returns;
+ /*in */
+ int phandle;
+ void *buf;
+ int buflen;
+ /*out */
+ int length;
+} of1275_package_to_path_service;
+
+int of1275_package_to_path(int phandle, void *buf, int buflen,
+ int *length);
+
+
+typedef struct _of1275_call_method_service {
+ const char *service;
+ int n_args;
+ int n_returns;
+ /*in */
+ const char *method;
+ int ihandle;
+ /*... */
+ int args[0];
+} of1275_call_method_service;
+
+int of1275_call_method(const char *method, int ihandle, ...);
+
+
+/* 6.3.2.3 Device I/O */
+
+
+typedef struct _of1275_open_service {
+ const char *service;
+ int n_args;
+ int n_returns;
+ /*in */
+ const char *device_specifier;
+ /*out */
+ int ihandle;
+} of1275_open_service;
+
+int of1275_open(const char *device_specifier, int *ihandle);
+
+
+typedef struct _of1275_close_service {
+ const char *service;
+ int n_args;
+ int n_returns;
+ /*in */
+ int ihandle;
+ /*out */
+} of1275_close_service;
+
+int of1275_close(int ihandle);
+
+
+typedef struct _of1275_read_service {
+ const char *service;
+ int n_args;
+ int n_returns;
+ /*in */
+ int ihandle;
+ void *addr;
+ int len;
+ /*out */
+ int actual;
+} of1275_read_service;
+
+int of1275_read(int ihandle, void *addr, int len, int *actual);
+
+
+typedef struct _of1275_write_service {
+ const char *service;
+ int n_args;
+ int n_returns;
+ /*in */
+ int ihandle;
+ void *addr;
+ int len;
+ /*out */
+ int actual;
+} of1275_write_service;
+
+int of1275_write(int ihandle, void *addr, int len, int *actual);
+
+
+typedef struct _of1275_seek_service {
+ const char *service;
+ int n_args;
+ int n_returns;
+ /*in */
+ int ihandle;
+ int pos_hi;
+ int pos_lo;
+ /*out */
+ int status;
+} of1275_seek_service;
+
+int of1275_seek(int ihandle, int pos_hi, int pos_lo, int *status);
+
+
+/* 6.3.2.4 Memory */
+
+
+typedef struct _of1275_claim_service {
+ const char *service;
+ int n_args;
+ int n_returns;
+ /*in */
+ void *virt;
+ int size;
+ int align;
+ /*out */
+ void *baseaddr;
+} of1275_claim_service;
+
+int of1275_claim(void *virt, int size, int align, void **baseaddr);
+
+
+typedef struct _of1275_release_service {
+ const char *service;
+ int n_args;
+ int n_returns;
+ /*in */
+ void *virt;
+ int size;
+ int align;
+ /*out */
+} of1275_release_service;
+
+int of1275_release(void *virt, int size);
+
+
+/* 6.3.2.5 Control transfer */
+
+
+typedef struct _of1275_boot_service {
+ const char *service;
+ int n_args;
+ int n_returns;
+ /*in */
+ const char *bootspec;
+ /*out */
+} of1275_boot_service;
+
+int of1275_boot(const char *bootspec);
+
+
+typedef struct _of1275_enter_service {
+ const char *service;
+ int n_args;
+ int n_returns;
+ /*in */
+ /*out */
+} of1275_enter_service;
+
+int of1275_enter(void);
+
+typedef struct _of1275_exit_service {
+ const char *service;
+ int n_args;
+ int n_returns;
+ /*in */
+ int status;
+ /*out */
+} of1275_exit_service;
+
+int of1275_exit(int status);
+
+
+typedef struct _of1275_chain_service {
+ const char *service;
+ int n_args;
+ int n_returns;
+ /*in */
+ void *virt;
+ int size;
+ void *entry;
+ void *args;
+ int len;
+ /*out */
+} of1275_chain_service;
+
+int of1275_chain(void *virt, int size, void *entry, void *args, int len);
+
+
+/* 6.3.2.6 User interface */
+
+
+typedef struct _of1275_interpret_service {
+ const char *service;
+ int n_args;
+ int n_returns;
+ /*in */
+ const char *cmd;
+ int args[0];
+ /*... */
+ /*out */
+ /*... */
+} of1275_interpret_service;
+
+int of1275_interpret(const char *arg, ...);
+
+
+typedef struct _of1275_set_callback_service {
+ const char *service;
+ int n_args;
+ int n_returns;
+ /*in */
+ void *newfunc;
+ /*out */
+ void *oldfunc;
+} of1275_set_callback_service;
+
+int of1275_set_callback(void *newfunc, void **oldfunc);
+
+
+typedef struct _of1275_set_symbol_lookup_service {
+ const char *service;
+ int n_args;
+ int n_returns;
+ /*in */
+ void *sym_to_value;
+ void *value_to_sym;
+ /*out */
+} of1275_set_symbol_lookup_service;
+
+int of1275_set_symbol_lookup(void *sym_to_value, void *value_to_sym);
+
+
+/* 6.3.2.7 Time */
+
+
+typedef struct _of1275_milliseconds_service {
+ const char *service;
+ int n_args;
+ int n_returns;
+ /*in */
+ /*out */
+ int ms;
+} of1275_milliseconds_service;
+
+int of1275_milliseconds(int *ms);
+
+
+/* Common and useful utilities */
+
+
+int of_find_integer_property(const char *path, const char *property);
+
+void of_find_string_property(const char *path, const char *property,
+ char *string, int sizeof_string);