Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 1897 → Rev 1899

/trunk/kernel/arch/sparc64/include/boot/boot.h
70,10 → 70,6
memzone_t zones[MEMMAP_MAX_RECORDS];
} memmap_t;
 
typedef struct {
uint32_t clock_frequency;
} processor_t;
 
/** Bootinfo structure.
*
* Must be in sync with bootinfo structure used by the boot loader.
81,7 → 77,6
typedef struct {
taskmap_t taskmap;
memmap_t memmap;
processor_t processor;
ballocs_t ballocs;
ofw_tree_node_t *ofw_root;
} bootinfo_t;
/trunk/kernel/arch/sparc64/include/arch.h
37,10 → 37,10
#ifndef KERN_sparc64_ARCH_H_
#define KERN_sparc64_ARCH_H_
 
#define ASI_AIUP 0x10 /** Access to primary context with user privileges. */
#define ASI_AIUS 0x11 /** Access to secondary context with user privileges. */
 
#define ASI_AIUP 0x10 /** Access to primary context with user privileges. */
#define ASI_AIUS 0x11 /** Access to secondary context with user privileges. */
#define ASI_NUCLEUS_QUAD_LDD 0x24 /** ASI for 16-byte atomic loads. */
#define ASI_UPA_CONFIG 0x4a /** ASI of the UPA_CONFIG register. */
 
#define NWINDOW 8 /** Number of register window sets. */
 
/trunk/kernel/arch/sparc64/include/asm.h
358,6 → 358,15
__asm__ volatile ("wrpr %g0, %g0, %tl\n");
}
 
/** Read UPA_CONFIG register.
*
* @return Value of the UPA_CONFIG register.
*/
static inline uint64_t upa_config_read(void)
{
return asi_u64_read(ASI_UPA_CONFIG, 0);
}
 
extern void cpu_halt(void);
extern void cpu_sleep(void);
extern void asm_delay_loop(const uint32_t usec);
/trunk/kernel/arch/sparc64/include/register.h
117,6 → 117,23
};
typedef union fprs_reg fprs_reg_t;
 
/** UPA_CONFIG register.
*
* Note that format of this register differs significantly from
* processor version to version. The format defined here
* is the common subset for all supported processor versions.
*/
union upa_config {
uint64_t value;
struct {
uint64_t : 34;
unsigned pcon : 8; /**< Processor configuration. */
unsigned mid : 5; /**< Module (processor) ID register. */
unsigned pcap : 17; /**< Processor capabilities. */
} __attribute__ ((packed));
};
typedef union upa_config upa_config_t;
 
#endif
 
/** @}