esp.c (1bcaf71b) | esp.c (c5d7df28) |
---|---|
1/* 2 * QEMU ESP/NCR53C9x emulation 3 * 4 * Copyright (c) 2005-2006 Fabrice Bellard 5 * Copyright (c) 2012 Herve Poussineau 6 * 7 * Permission is hereby granted, free of charge, to any person obtaining a copy 8 * of this software and associated documentation files (the "Software"), to deal --- 147 unchanged lines hidden (view full) --- 156 dmalen |= s->rregs[ESP_TCMID] << 8; 157 dmalen |= s->rregs[ESP_TCHI] << 16; 158 159 return dmalen; 160} 161 162static void esp_set_tc(ESPState *s, uint32_t dmalen) 163{ | 1/* 2 * QEMU ESP/NCR53C9x emulation 3 * 4 * Copyright (c) 2005-2006 Fabrice Bellard 5 * Copyright (c) 2012 Herve Poussineau 6 * 7 * Permission is hereby granted, free of charge, to any person obtaining a copy 8 * of this software and associated documentation files (the "Software"), to deal --- 147 unchanged lines hidden (view full) --- 156 dmalen |= s->rregs[ESP_TCMID] << 8; 157 dmalen |= s->rregs[ESP_TCHI] << 16; 158 159 return dmalen; 160} 161 162static void esp_set_tc(ESPState *s, uint32_t dmalen) 163{ |
164 uint32_t old_tc = esp_get_tc(s); 165 |
|
164 s->rregs[ESP_TCLO] = dmalen; 165 s->rregs[ESP_TCMID] = dmalen >> 8; 166 s->rregs[ESP_TCHI] = dmalen >> 16; | 166 s->rregs[ESP_TCLO] = dmalen; 167 s->rregs[ESP_TCMID] = dmalen >> 8; 168 s->rregs[ESP_TCHI] = dmalen >> 16; |
169 170 if (old_tc && dmalen == 0) { 171 s->rregs[ESP_RSTAT] |= STAT_TC; 172 } |
|
167} 168 169static uint32_t esp_get_stc(ESPState *s) 170{ 171 uint32_t dmalen; 172 173 dmalen = s->wregs[ESP_TCLO]; 174 dmalen |= s->wregs[ESP_TCMID] << 8; --- 1371 unchanged lines hidden --- | 173} 174 175static uint32_t esp_get_stc(ESPState *s) 176{ 177 uint32_t dmalen; 178 179 dmalen = s->wregs[ESP_TCLO]; 180 dmalen |= s->wregs[ESP_TCMID] << 8; --- 1371 unchanged lines hidden --- |