/[qemu]/qemu/hw/ppc.c
ViewVC logotype

Diff of /qemu/hw/ppc.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.8 by bellard, Thu Jul 7 21:46:29 2005 UTC revision 1.9 by bellard, Sun Oct 30 16:58:32 2005 UTC
# Line 283  void PPC_debug_write (void *opaque, uint Line 283  void PPC_debug_write (void *opaque, uint
283  /* NVRAM helpers */  /* NVRAM helpers */
284  void NVRAM_set_byte (m48t59_t *nvram, uint32_t addr, uint8_t value)  void NVRAM_set_byte (m48t59_t *nvram, uint32_t addr, uint8_t value)
285  {  {
286      m48t59_set_addr(nvram, addr);      m48t59_write(nvram, addr, value);
     m48t59_write(nvram, value);  
287  }  }
288    
289  uint8_t NVRAM_get_byte (m48t59_t *nvram, uint32_t addr)  uint8_t NVRAM_get_byte (m48t59_t *nvram, uint32_t addr)
290  {  {
291      m48t59_set_addr(nvram, addr);      return m48t59_read(nvram, addr);
     return m48t59_read(nvram);  
292  }  }
293    
294  void NVRAM_set_word (m48t59_t *nvram, uint32_t addr, uint16_t value)  void NVRAM_set_word (m48t59_t *nvram, uint32_t addr, uint16_t value)
295  {  {
296      m48t59_set_addr(nvram, addr);      m48t59_write(nvram, addr, value >> 8);
297      m48t59_write(nvram, value >> 8);      m48t59_write(nvram, addr + 1, value & 0xFF);
     m48t59_set_addr(nvram, addr + 1);  
     m48t59_write(nvram, value & 0xFF);  
298  }  }
299    
300  uint16_t NVRAM_get_word (m48t59_t *nvram, uint32_t addr)  uint16_t NVRAM_get_word (m48t59_t *nvram, uint32_t addr)
301  {  {
302      uint16_t tmp;      uint16_t tmp;
303    
304      m48t59_set_addr(nvram, addr);      tmp = m48t59_read(nvram, addr) << 8;
305      tmp = m48t59_read(nvram) << 8;      tmp |= m48t59_read(nvram, addr + 1);
     m48t59_set_addr(nvram, addr + 1);  
     tmp |= m48t59_read(nvram);  
   
306      return tmp;      return tmp;
307  }  }
308    
309  void NVRAM_set_lword (m48t59_t *nvram, uint32_t addr, uint32_t value)  void NVRAM_set_lword (m48t59_t *nvram, uint32_t addr, uint32_t value)
310  {  {
311      m48t59_set_addr(nvram, addr);      m48t59_write(nvram, addr, value >> 24);
312      m48t59_write(nvram, value >> 24);      m48t59_write(nvram, addr + 1, (value >> 16) & 0xFF);
313      m48t59_set_addr(nvram, addr + 1);      m48t59_write(nvram, addr + 2, (value >> 8) & 0xFF);
314      m48t59_write(nvram, (value >> 16) & 0xFF);      m48t59_write(nvram, addr + 3, value & 0xFF);
     m48t59_set_addr(nvram, addr + 2);  
     m48t59_write(nvram, (value >> 8) & 0xFF);  
     m48t59_set_addr(nvram, addr + 3);  
     m48t59_write(nvram, value & 0xFF);  
315  }  }
316    
317  uint32_t NVRAM_get_lword (m48t59_t *nvram, uint32_t addr)  uint32_t NVRAM_get_lword (m48t59_t *nvram, uint32_t addr)
318  {  {
319      uint32_t tmp;      uint32_t tmp;
320    
321      m48t59_set_addr(nvram, addr);      tmp = m48t59_read(nvram, addr) << 24;
322      tmp = m48t59_read(nvram) << 24;      tmp |= m48t59_read(nvram, addr + 1) << 16;
323      m48t59_set_addr(nvram, addr + 1);      tmp |= m48t59_read(nvram, addr + 2) << 8;
324      tmp |= m48t59_read(nvram) << 16;      tmp |= m48t59_read(nvram, addr + 3);
     m48t59_set_addr(nvram, addr + 2);  
     tmp |= m48t59_read(nvram) << 8;  
     m48t59_set_addr(nvram, addr + 3);  
     tmp |= m48t59_read(nvram);  
   
325      return tmp;      return tmp;
326  }  }
327    
# Line 347  void NVRAM_set_string (m48t59_t *nvram, Line 331  void NVRAM_set_string (m48t59_t *nvram,
331      int i;      int i;
332    
333      for (i = 0; i < max && str[i] != '\0'; i++) {      for (i = 0; i < max && str[i] != '\0'; i++) {
334          m48t59_set_addr(nvram, addr + i);          m48t59_write(nvram, addr + i, str[i]);
         m48t59_write(nvram, str[i]);  
335      }      }
336      m48t59_set_addr(nvram, addr + max - 1);      m48t59_write(nvram, addr + max - 1, '\0');
     m48t59_write(nvram, '\0');  
337  }  }
338    
339  int NVRAM_get_string (m48t59_t *nvram, uint8_t *dst, uint16_t addr, int max)  int NVRAM_get_string (m48t59_t *nvram, uint8_t *dst, uint16_t addr, int max)

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.9

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26