Changeset 10caad0 in mainline for arch/ppc/include
- Timestamp:
- 2005-08-30T17:37:50Z (20 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 7ce9284
- Parents:
- db5e25f
- Location:
- arch/ppc/include
- Files:
-
- 3 edited
-
asm.h (modified) (2 diffs)
-
asm/macro.h (modified) (1 diff)
-
drivers/ofw.h (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
arch/ppc/include/asm.h
rdb5e25f r10caad0 1 1 /* 2 * Copyright (C) 2005 Jakub Jermar2 * Copyright (C) 2005 Martin Decky 3 3 * All rights reserved. 4 4 * … … 33 33 #include <config.h> 34 34 35 /** Set priority level low 36 * 37 * Enable interrupts and return previous 38 * value of EE. 39 */ 40 static inline pri_t cpu_priority_low(void) { 41 pri_t v; 42 __asm__ volatile ( 43 "\n" 44 : "=r" (v) 45 ); 46 return v; 47 } 48 49 /** Set priority level high 50 * 51 * Disable interrupts and return previous 52 * value of EE. 53 */ 54 static inline pri_t cpu_priority_high(void) { 55 pri_t v; 56 __asm__ volatile ( 57 "\n" 58 : "=r" (v) 59 ); 60 return v; 61 } 62 63 /** Restore priority level 64 * 65 * Restore EE. 66 */ 67 static inline void cpu_priority_restore(pri_t pri) { 68 __asm__ volatile ( 69 "\n" 70 : : "r" (pri) 71 ); 72 } 73 35 74 /* TODO: implement the real stuff */ 36 75 static inline __address get_stack_base(void) -
arch/ppc/include/asm/macro.h
rdb5e25f r10caad0 74 74 #define r30 30 75 75 #define r31 31 76 77 /* GPR Aliases */ 78 #define sp 1 76 79 77 80 /* Floating Point Registers (FPRs) */ -
arch/ppc/include/drivers/ofw.h
rdb5e25f r10caad0 36 36 typedef __u32 ofw_arg_t; 37 37 typedef __u32 ihandle; 38 typedef __u32 phandle; 38 39 39 struct ofw_args_t { 40 const char *service; 41 int nargs; 42 int nret; 43 ofw_arg_t args[MAX_OFW_ARGS]; 44 }; 40 /** OpenFirmware command structure 41 * 42 */ 43 typedef struct { 44 const char *service; /**< Command name */ 45 __u32 nargs; /**< Number of in arguments */ 46 __u32 nret; /**< Number of out arguments */ 47 ofw_arg_t args[MAX_OFW_ARGS]; /**< List of arguments */ 48 } ofw_args_t; 45 49 46 typedef void (*ofw_entry)(struct ofw_args_t *); 50 /** OpenFirmware device address range structure 51 * 52 */ 53 typedef struct { 54 __u32 space; 55 __u32 address; 56 __u32 size; 57 } address_range_t; 58 59 /** OpenFirmware device interrupt structure 60 * 61 */ 62 typedef struct { 63 __u32 line; /**< Interrupt number */ 64 __u32 flags; /**< Interrupt flags/logic */ 65 } interrupt_info_t; 66 67 /** OpenFirmware property structure 68 * 69 */ 70 typedef struct property_t { 71 char *name; /**< Property name */ 72 __u32 length; /**< Value length */ 73 char *value; /**< Property value */ 74 struct property_t *next; /**< Next property in list */ 75 } property_t; 76 77 /** OpenFirmware device descritor 78 * 79 */ 80 typedef struct device_node_t { 81 char *name; /**< Device name */ 82 char *type; /**< Device type */ 83 phandle node; /**< Device handle */ 84 85 __u32 n_addrs; /**< Number of address ranges */ 86 address_range_t *addrs; /**< Address ranges list */ 87 88 __u32 n_intrs; /**< Number of interrupts */ 89 interrupt_info_t *intrs; /**< Interrupts list */ 90 91 char *full_name; /**< Device full name */ 92 93 property_t *properties; /**< Device properties */ 94 95 struct device_node_t *parent; /**< Parent device */ 96 struct device_node_t *child; /**< First child in tree */ 97 struct device_node_t *sibling; /**< Next device on tree level */ 98 struct device_node_t *next; /**< Next device of the same type */ 99 struct device_node_t *next_all; /**< Next device in list of all nodes */ 100 } device_node_t; 101 102 typedef void (*ofw_entry)(ofw_args_t *); 47 103 48 104 extern ofw_entry ofw; … … 52 108 extern int ofw_call(const char *service, const int nargs, const int nret, ...); 53 109 extern void ofw_putchar(const char ch); 110 extern phandle ofw_find_device(const char *name); 111 extern int ofw_get_property(const phandle device, const char *name, void *buf, const int buflen); 54 112 extern void putchar(const char ch); 55 113
Note:
See TracChangeset
for help on using the changeset viewer.
