Changeset 904b1bc in mainline for kernel/arch/sparc64
- Timestamp:
- 2018-05-22T10:36:58Z (8 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- a4eb3ba2
- Parents:
- 4f8772d4
- git-author:
- Jiri Svoboda <jiri@…> (2018-05-21 17:36:30)
- git-committer:
- Jiri Svoboda <jiri@…> (2018-05-22 10:36:58)
- Location:
- kernel/arch/sparc64
- Files:
-
- 5 edited
-
include/arch/mm/sun4u/tsb.h (modified) (1 diff)
-
include/arch/sun4u/cpu.h (modified) (1 diff)
-
include/arch/sun4v/cpu.h (modified) (1 diff)
-
src/mm/sun4u/tsb.c (modified) (2 diffs)
-
src/sun4v/md.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/sparc64/include/arch/mm/sun4u/tsb.h
r4f8772d4 r904b1bc 66 66 uint64_t value; 67 67 struct { 68 uint64_t base : 51; /**<TSB base address, bits 63:13. */69 u nsigned split : 1; /**< Split vs. common TSB for 8K and 64K70 * pages. HelenOS uses only 8K pages71 * for user mappings, so we always set72 * this to 0.73 */68 /** TSB base address, bits 63:13. */ 69 uint64_t base : 51; 70 /** Split vs. common TSB for 8K and 64K pages. HelenOS uses 71 * only 8K pages for user mappings, so we always set this to 0. 72 */ 73 unsigned split : 1; 74 74 unsigned : 9; 75 unsigned size : 3; /**< TSB size. Number of entries is76 * 512 * 2^size. */75 /** TSB size. Number of entries is 512 * 2^size. */ 76 unsigned size : 3; 77 77 } __attribute__((packed)); 78 78 } tsb_base_reg_t; -
kernel/arch/sparc64/include/arch/sun4u/cpu.h
r4f8772d4 r904b1bc 62 62 63 63 typedef struct { 64 uint32_t mid; /**< Processor ID as read from65 UPA_CONFIG/FIREPLANE_CONFIG. */64 /** Processor ID as read from UPA_CONFIG/FIREPLANE_CONFIG. */ 65 uint32_t mid; 66 66 ver_reg_t ver; 67 uint32_t clock_frequency; /**< Processor frequency in Hz. */ 68 uint64_t next_tick_cmpr; /**< Next clock interrupt should be 69 generated when the TICK register 70 matches this value. */ 67 /** Processor frequency in Hz. */ 68 uint32_t clock_frequency; 69 /** Next clock interrupt should be generated when the TICK register 70 * matches this value. 71 */ 72 uint64_t next_tick_cmpr; 71 73 } cpu_arch_t; 72 74 -
kernel/arch/sparc64/include/arch/sun4v/cpu.h
r4f8772d4 r904b1bc 59 59 60 60 typedef struct cpu_arch { 61 uint64_t id; /**< virtual processor ID */ 62 uint32_t clock_frequency; /**< Processor frequency in Hz. */ 63 uint64_t next_tick_cmpr; /**< Next clock interrupt should be 64 generated when the TICK register 65 matches this value. */ 66 exec_unit_t *exec_unit; /**< Physical core. */ 67 unsigned long proposed_nrdy; /**< Proposed No. of ready threads 68 so that cores are equally balanced. */ 61 /** Virtual processor ID */ 62 uint64_t id; 63 /** Processor frequency in Hz */ 64 uint32_t clock_frequency; 65 /** Next clock interrupt should be generated when the TICK register 66 * matches this value. 67 */ 68 uint64_t next_tick_cmpr; 69 /** Physical core. */ 70 exec_unit_t *exec_unit; 71 /** Proposed No. of ready threads so that cores are equally balanced. */ 72 unsigned long proposed_nrdy; 69 73 } cpu_arch_t; 70 74 -
kernel/arch/sparc64/src/mm/sun4u/tsb.c
r4f8772d4 r904b1bc 97 97 */ 98 98 99 tte->tag.invalid = true; /* invalidate the entry 100 * (tag target has this 101 * set to 0) */ 99 /* Invalidate the entry (tag target has this set to 0) */ 100 tte->tag.invalid = true; 102 101 103 102 write_barrier(); … … 142 141 */ 143 142 144 tte->tag.invalid = true; /* invalidate the entry 145 * (tag target has this 146 * set to 0) */ 143 /* Invalidate the entry (tag target has this set to 0) */ 144 tte->tag.invalid = true; 147 145 148 146 write_barrier(); -
kernel/arch/sparc64/src/sun4v/md.c
r4f8772d4 r904b1bc 66 66 /** machine description element (in the node block) */ 67 67 typedef struct { 68 uint8_t tag; /**< Type of element */ 69 uint8_t name_len; /**< Length in bytes of element name */ 70 uint16_t _reserved_field; /**< reserved field (zeros) */ 71 uint32_t name_offset; /**< Location offset of name associated 72 with this element relative to 73 start of name block */ 68 /** Type of element */ 69 uint8_t tag; 70 /** Length in bytes of element name */ 71 uint8_t name_len; 72 /** Reserved field (zeros) */ 73 uint16_t _reserved_field; 74 /** Location offset of name associated with this element relative to 75 * start of name block 76 */ 77 uint32_t name_offset; 78 74 79 union { 75 80 /** for elements of type “PROP_STR” and of type “PROP_DATA” */
Note:
See TracChangeset
for help on using the changeset viewer.
