Commit 0fe5ea89cc108ea0ff5cbc115bd1143196e248ba
1 parent
775b58d8
Fix Sun4u compile
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3594 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
42 additions
and
67 deletions
hw/sun4u.c
| ... | ... | @@ -67,23 +67,23 @@ void DMA_register_channel (int nchan, |
| 67 | 67 | } |
| 68 | 68 | |
| 69 | 69 | /* NVRAM helpers */ |
| 70 | -void NVRAM_set_byte (m48t59_t *nvram, uint32_t addr, uint8_t value) | |
| 70 | +static void nvram_set_byte (m48t59_t *nvram, uint32_t addr, uint8_t value) | |
| 71 | 71 | { |
| 72 | 72 | m48t59_write(nvram, addr, value); |
| 73 | 73 | } |
| 74 | 74 | |
| 75 | -uint8_t NVRAM_get_byte (m48t59_t *nvram, uint32_t addr) | |
| 75 | +static uint8_t nvram_get_byte (m48t59_t *nvram, uint32_t addr) | |
| 76 | 76 | { |
| 77 | 77 | return m48t59_read(nvram, addr); |
| 78 | 78 | } |
| 79 | 79 | |
| 80 | -void NVRAM_set_word (m48t59_t *nvram, uint32_t addr, uint16_t value) | |
| 80 | +static void nvram_set_word (m48t59_t *nvram, uint32_t addr, uint16_t value) | |
| 81 | 81 | { |
| 82 | - m48t59_write(nvram, addr, value >> 8); | |
| 83 | - m48t59_write(nvram, addr + 1, value & 0xFF); | |
| 82 | + m48t59_write(nvram, addr++, (value >> 8) & 0xff); | |
| 83 | + m48t59_write(nvram, addr++, value & 0xff); | |
| 84 | 84 | } |
| 85 | 85 | |
| 86 | -uint16_t NVRAM_get_word (m48t59_t *nvram, uint32_t addr) | |
| 86 | +static uint16_t nvram_get_word (m48t59_t *nvram, uint32_t addr) | |
| 87 | 87 | { |
| 88 | 88 | uint16_t tmp; |
| 89 | 89 | |
| ... | ... | @@ -93,30 +93,18 @@ uint16_t NVRAM_get_word (m48t59_t *nvram, uint32_t addr) |
| 93 | 93 | return tmp; |
| 94 | 94 | } |
| 95 | 95 | |
| 96 | -void NVRAM_set_lword (m48t59_t *nvram, uint32_t addr, uint32_t value) | |
| 96 | +static void nvram_set_lword (m48t59_t *nvram, uint32_t addr, uint32_t value) | |
| 97 | 97 | { |
| 98 | - m48t59_write(nvram, addr, value >> 24); | |
| 99 | - m48t59_write(nvram, addr + 1, (value >> 16) & 0xFF); | |
| 100 | - m48t59_write(nvram, addr + 2, (value >> 8) & 0xFF); | |
| 101 | - m48t59_write(nvram, addr + 3, value & 0xFF); | |
| 98 | + m48t59_write(nvram, addr++, value >> 24); | |
| 99 | + m48t59_write(nvram, addr++, (value >> 16) & 0xff); | |
| 100 | + m48t59_write(nvram, addr++, (value >> 8) & 0xff); | |
| 101 | + m48t59_write(nvram, addr++, value & 0xff); | |
| 102 | 102 | } |
| 103 | 103 | |
| 104 | -uint32_t NVRAM_get_lword (m48t59_t *nvram, uint32_t addr) | |
| 105 | -{ | |
| 106 | - uint32_t tmp; | |
| 107 | - | |
| 108 | - tmp = m48t59_read(nvram, addr) << 24; | |
| 109 | - tmp |= m48t59_read(nvram, addr + 1) << 16; | |
| 110 | - tmp |= m48t59_read(nvram, addr + 2) << 8; | |
| 111 | - tmp |= m48t59_read(nvram, addr + 3); | |
| 112 | - | |
| 113 | - return tmp; | |
| 114 | -} | |
| 115 | - | |
| 116 | -void NVRAM_set_string (m48t59_t *nvram, uint32_t addr, | |
| 104 | +static void nvram_set_string (m48t59_t *nvram, uint32_t addr, | |
| 117 | 105 | const unsigned char *str, uint32_t max) |
| 118 | 106 | { |
| 119 | - int i; | |
| 107 | + unsigned int i; | |
| 120 | 108 | |
| 121 | 109 | for (i = 0; i < max && str[i] != '\0'; i++) { |
| 122 | 110 | m48t59_write(nvram, addr + i, str[i]); |
| ... | ... | @@ -124,21 +112,7 @@ void NVRAM_set_string (m48t59_t *nvram, uint32_t addr, |
| 124 | 112 | m48t59_write(nvram, addr + max - 1, '\0'); |
| 125 | 113 | } |
| 126 | 114 | |
| 127 | -int NVRAM_get_string (m48t59_t *nvram, uint8_t *dst, uint16_t addr, int max) | |
| 128 | -{ | |
| 129 | - int i; | |
| 130 | - | |
| 131 | - memset(dst, 0, max); | |
| 132 | - for (i = 0; i < max; i++) { | |
| 133 | - dst[i] = NVRAM_get_byte(nvram, addr + i); | |
| 134 | - if (dst[i] == '\0') | |
| 135 | - break; | |
| 136 | - } | |
| 137 | - | |
| 138 | - return i; | |
| 139 | -} | |
| 140 | - | |
| 141 | -static uint16_t NVRAM_crc_update (uint16_t prev, uint16_t value) | |
| 115 | +static uint16_t nvram_crc_update (uint16_t prev, uint16_t value) | |
| 142 | 116 | { |
| 143 | 117 | uint16_t tmp; |
| 144 | 118 | uint16_t pd, pd1, pd2; |
| ... | ... | @@ -153,7 +127,8 @@ static uint16_t NVRAM_crc_update (uint16_t prev, uint16_t value) |
| 153 | 127 | return tmp; |
| 154 | 128 | } |
| 155 | 129 | |
| 156 | -uint16_t NVRAM_compute_crc (m48t59_t *nvram, uint32_t start, uint32_t count) | |
| 130 | +static uint16_t nvram_compute_crc (m48t59_t *nvram, uint32_t start, | |
| 131 | + uint32_t count) | |
| 157 | 132 | { |
| 158 | 133 | uint32_t i; |
| 159 | 134 | uint16_t crc = 0xFFFF; |
| ... | ... | @@ -162,10 +137,10 @@ uint16_t NVRAM_compute_crc (m48t59_t *nvram, uint32_t start, uint32_t count) |
| 162 | 137 | odd = count & 1; |
| 163 | 138 | count &= ~1; |
| 164 | 139 | for (i = 0; i != count; i++) { |
| 165 | - crc = NVRAM_crc_update(crc, NVRAM_get_word(nvram, start + i)); | |
| 140 | + crc = nvram_crc_update(crc, nvram_get_word(nvram, start + i)); | |
| 166 | 141 | } |
| 167 | 142 | if (odd) { |
| 168 | - crc = NVRAM_crc_update(crc, NVRAM_get_byte(nvram, start + i) << 8); | |
| 143 | + crc = nvram_crc_update(crc, nvram_get_byte(nvram, start + i) << 8); | |
| 169 | 144 | } |
| 170 | 145 | |
| 171 | 146 | return crc; |
| ... | ... | @@ -177,7 +152,7 @@ static uint32_t nvram_set_var (m48t59_t *nvram, uint32_t addr, |
| 177 | 152 | uint32_t len; |
| 178 | 153 | |
| 179 | 154 | len = strlen(str) + 1; |
| 180 | - NVRAM_set_string(nvram, addr, str, len); | |
| 155 | + nvram_set_string(nvram, addr, str, len); | |
| 181 | 156 | |
| 182 | 157 | return addr + len; |
| 183 | 158 | } |
| ... | ... | @@ -215,39 +190,39 @@ int sun4u_NVRAM_set_params (m48t59_t *nvram, uint16_t NVRAM_size, |
| 215 | 190 | uint32_t start, end; |
| 216 | 191 | |
| 217 | 192 | /* Set parameters for Open Hack'Ware BIOS */ |
| 218 | - NVRAM_set_string(nvram, 0x00, "QEMU_BIOS", 16); | |
| 219 | - NVRAM_set_lword(nvram, 0x10, 0x00000002); /* structure v2 */ | |
| 220 | - NVRAM_set_word(nvram, 0x14, NVRAM_size); | |
| 221 | - NVRAM_set_string(nvram, 0x20, arch, 16); | |
| 222 | - NVRAM_set_byte(nvram, 0x2f, nographic & 0xff); | |
| 223 | - NVRAM_set_lword(nvram, 0x30, RAM_size); | |
| 224 | - NVRAM_set_byte(nvram, 0x34, boot_device); | |
| 225 | - NVRAM_set_lword(nvram, 0x38, kernel_image); | |
| 226 | - NVRAM_set_lword(nvram, 0x3C, kernel_size); | |
| 193 | + nvram_set_string(nvram, 0x00, "QEMU_BIOS", 16); | |
| 194 | + nvram_set_lword(nvram, 0x10, 0x00000002); /* structure v2 */ | |
| 195 | + nvram_set_word(nvram, 0x14, NVRAM_size); | |
| 196 | + nvram_set_string(nvram, 0x20, arch, 16); | |
| 197 | + nvram_set_byte(nvram, 0x2f, nographic & 0xff); | |
| 198 | + nvram_set_lword(nvram, 0x30, RAM_size); | |
| 199 | + nvram_set_byte(nvram, 0x34, boot_device); | |
| 200 | + nvram_set_lword(nvram, 0x38, kernel_image); | |
| 201 | + nvram_set_lword(nvram, 0x3C, kernel_size); | |
| 227 | 202 | if (cmdline) { |
| 228 | 203 | /* XXX: put the cmdline in NVRAM too ? */ |
| 229 | 204 | strcpy(phys_ram_base + CMDLINE_ADDR, cmdline); |
| 230 | - NVRAM_set_lword(nvram, 0x40, CMDLINE_ADDR); | |
| 231 | - NVRAM_set_lword(nvram, 0x44, strlen(cmdline)); | |
| 205 | + nvram_set_lword(nvram, 0x40, CMDLINE_ADDR); | |
| 206 | + nvram_set_lword(nvram, 0x44, strlen(cmdline)); | |
| 232 | 207 | } else { |
| 233 | - NVRAM_set_lword(nvram, 0x40, 0); | |
| 234 | - NVRAM_set_lword(nvram, 0x44, 0); | |
| 208 | + nvram_set_lword(nvram, 0x40, 0); | |
| 209 | + nvram_set_lword(nvram, 0x44, 0); | |
| 235 | 210 | } |
| 236 | - NVRAM_set_lword(nvram, 0x48, initrd_image); | |
| 237 | - NVRAM_set_lword(nvram, 0x4C, initrd_size); | |
| 238 | - NVRAM_set_lword(nvram, 0x50, NVRAM_image); | |
| 211 | + nvram_set_lword(nvram, 0x48, initrd_image); | |
| 212 | + nvram_set_lword(nvram, 0x4C, initrd_size); | |
| 213 | + nvram_set_lword(nvram, 0x50, NVRAM_image); | |
| 239 | 214 | |
| 240 | - NVRAM_set_word(nvram, 0x54, width); | |
| 241 | - NVRAM_set_word(nvram, 0x56, height); | |
| 242 | - NVRAM_set_word(nvram, 0x58, depth); | |
| 243 | - crc = NVRAM_compute_crc(nvram, 0x00, 0xF8); | |
| 244 | - NVRAM_set_word(nvram, 0xFC, crc); | |
| 215 | + nvram_set_word(nvram, 0x54, width); | |
| 216 | + nvram_set_word(nvram, 0x56, height); | |
| 217 | + nvram_set_word(nvram, 0x58, depth); | |
| 218 | + crc = nvram_compute_crc(nvram, 0x00, 0xF8); | |
| 219 | + nvram_set_word(nvram, 0xFC, crc); | |
| 245 | 220 | |
| 246 | 221 | // OpenBIOS nvram variables |
| 247 | 222 | // Variable partition |
| 248 | 223 | start = 256; |
| 249 | 224 | m48t59_write(nvram, start, 0x70); |
| 250 | - NVRAM_set_string(nvram, start + 4, "system", 12); | |
| 225 | + nvram_set_string(nvram, start + 4, "system", 12); | |
| 251 | 226 | |
| 252 | 227 | end = start + 16; |
| 253 | 228 | for (i = 0; i < nb_prom_envs; i++) |
| ... | ... | @@ -260,7 +235,7 @@ int sun4u_NVRAM_set_params (m48t59_t *nvram, uint16_t NVRAM_size, |
| 260 | 235 | // free partition |
| 261 | 236 | start = end; |
| 262 | 237 | m48t59_write(nvram, start, 0x7f); |
| 263 | - NVRAM_set_string(nvram, start + 4, "free", 12); | |
| 238 | + nvram_set_string(nvram, start + 4, "free", 12); | |
| 264 | 239 | |
| 265 | 240 | end = 0x1fd0; |
| 266 | 241 | nvram_finish_partition(nvram, start, end); | ... | ... |