mirror of https://github.com/xemu-project/xemu.git
AVR patches queue
- Only reset 'interrupt_request' mask once all interrupts executed - Documentation and typo fixes -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEE+qvnXhKRciHc/Wuy4+MsLN6twN4FAmBOoB4ACgkQ4+MsLN6t wN6zIg//SrDsBYfL1ffrN5/Tut3SZZW1+Xh4sO/3sLDE8Fbh1eQlpoT6fKdL6TE+ GbKMggt/rGE/8ler9QBWg5/vSdrUHa0jAK+pgpDBESP+u1xCc1AiSUE9Rz8pZMr/ K0DznGvZPSw3CCjodsANHJF9WpqWh4lj2ZgsVqL7911xdyRDBFyD+1zkJYvPtOCh OiCCVbUOShS9D5VvonOBNTqS7g11/H9H4l/h8TgiMit8qTEjVsy4KW4yzZA9XotJ EiOQwf4OdbWtw5L99234+MjreU30v4vuxw1HffHRPCFXFZ7Qwy6yhdmEyXAPMCtP SOhTWHfFLptSJLs+D2OqK4SupTeiRJihKXxJmqmDAq9n+a6R7DnHiTSZZY8t6sMb xW7Qlbggptn2XhAa6wP+VDEZbugkDv4qHPQnLS0R1sd1lNZ2r3Y7SUbgobJ9eU4I KUBTH2rCHFaHyNxcX7opqdEhefUlvlHsC8iq5F1AoJPLGdfXGzot/pe/63UMA7f+ F9BowxQd2G6qzXg4IOV802EenlgoUuOvxnAeEvpBBnaGtZ5FjDSnA0nhhUJhRo22 TlrlqvCfrXbH2AKyQ/fatffYdp/uvzIymD8VKd9+jr3IbxfsVCapKj6BxSRrQeTc Pno1CUecNApBoCPy74PU3oFK+UMuj0WourZJkLG6rVJqPDJnFXw= =LKo7 -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/philmd/tags/avr-20210315' into staging AVR patches queue - Only reset 'interrupt_request' mask once all interrupts executed - Documentation and typo fixes # gpg: Signature made Sun 14 Mar 2021 23:45:34 GMT # gpg: using RSA key FAABE75E12917221DCFD6BB2E3E32C2CDEADC0DE # gpg: Good signature from "Philippe Mathieu-Daudé (F4BUG) <f4bug@amsat.org>" [full] # Primary key fingerprint: FAAB E75E 1291 7221 DCFD 6BB2 E3E3 2C2C DEAD C0DE * remotes/philmd/tags/avr-20210315: target/avr: Fix interrupt execution target/avr: Fix some comment spelling errors hw/avr/arduino: List board schematic links hw/misc/led: Add yellow LED Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
e7c6a8cf9f
|
@ -75,7 +75,10 @@ static void arduino_duemilanove_class_init(ObjectClass *oc, void *data)
|
|||
MachineClass *mc = MACHINE_CLASS(oc);
|
||||
ArduinoMachineClass *amc = ARDUINO_MACHINE_CLASS(oc);
|
||||
|
||||
/* https://www.arduino.cc/en/Main/ArduinoBoardDuemilanove */
|
||||
/*
|
||||
* https://www.arduino.cc/en/Main/ArduinoBoardDuemilanove
|
||||
* https://www.arduino.cc/en/uploads/Main/arduino-duemilanove-schematic.pdf
|
||||
*/
|
||||
mc->desc = "Arduino Duemilanove (ATmega168)",
|
||||
mc->alias = "2009";
|
||||
amc->mcu_type = TYPE_ATMEGA168_MCU;
|
||||
|
@ -87,7 +90,10 @@ static void arduino_uno_class_init(ObjectClass *oc, void *data)
|
|||
MachineClass *mc = MACHINE_CLASS(oc);
|
||||
ArduinoMachineClass *amc = ARDUINO_MACHINE_CLASS(oc);
|
||||
|
||||
/* https://store.arduino.cc/arduino-uno-rev3 */
|
||||
/*
|
||||
* https://store.arduino.cc/arduino-uno-rev3
|
||||
* https://www.arduino.cc/en/uploads/Main/arduino-uno-schematic.pdf
|
||||
*/
|
||||
mc->desc = "Arduino UNO (ATmega328P)";
|
||||
mc->alias = "uno";
|
||||
amc->mcu_type = TYPE_ATMEGA328_MCU;
|
||||
|
@ -99,7 +105,10 @@ static void arduino_mega_class_init(ObjectClass *oc, void *data)
|
|||
MachineClass *mc = MACHINE_CLASS(oc);
|
||||
ArduinoMachineClass *amc = ARDUINO_MACHINE_CLASS(oc);
|
||||
|
||||
/* https://www.arduino.cc/en/Main/ArduinoBoardMega */
|
||||
/*
|
||||
* https://www.arduino.cc/en/Main/ArduinoBoardMega
|
||||
* https://www.arduino.cc/en/uploads/Main/arduino-mega2560-schematic.pdf
|
||||
*/
|
||||
mc->desc = "Arduino Mega (ATmega1280)";
|
||||
mc->alias = "mega";
|
||||
amc->mcu_type = TYPE_ATMEGA1280_MCU;
|
||||
|
@ -111,7 +120,10 @@ static void arduino_mega2560_class_init(ObjectClass *oc, void *data)
|
|||
MachineClass *mc = MACHINE_CLASS(oc);
|
||||
ArduinoMachineClass *amc = ARDUINO_MACHINE_CLASS(oc);
|
||||
|
||||
/* https://store.arduino.cc/arduino-mega-2560-rev3 */
|
||||
/*
|
||||
* https://store.arduino.cc/arduino-mega-2560-rev3
|
||||
* https://www.arduino.cc/en/uploads/Main/arduino-mega2560_R3-sch.pdf
|
||||
*/
|
||||
mc->desc = "Arduino Mega 2560 (ATmega2560)";
|
||||
mc->alias = "mega2560";
|
||||
amc->mcu_type = TYPE_ATMEGA2560_MCU;
|
||||
|
|
|
@ -20,6 +20,7 @@ static const char * const led_color_name[] = {
|
|||
[LED_COLOR_BLUE] = "blue",
|
||||
[LED_COLOR_CYAN] = "cyan",
|
||||
[LED_COLOR_GREEN] = "green",
|
||||
[LED_COLOR_YELLOW] = "yellow",
|
||||
[LED_COLOR_AMBER] = "amber",
|
||||
[LED_COLOR_ORANGE] = "orange",
|
||||
[LED_COLOR_RED] = "red",
|
||||
|
|
|
@ -27,6 +27,7 @@ typedef enum { /* Coarse wavelength range */
|
|||
LED_COLOR_BLUE, /* 475 nm */
|
||||
LED_COLOR_CYAN, /* 500 nm */
|
||||
LED_COLOR_GREEN, /* 535 nm */
|
||||
LED_COLOR_YELLOW, /* 567 nm */
|
||||
LED_COLOR_AMBER, /* 590 nm */
|
||||
LED_COLOR_ORANGE, /* 615 nm */
|
||||
LED_COLOR_RED, /* 630 nm */
|
||||
|
|
|
@ -49,7 +49,9 @@ bool avr_cpu_exec_interrupt(CPUState *cs, int interrupt_request)
|
|||
cc->tcg_ops->do_interrupt(cs);
|
||||
|
||||
env->intsrc &= env->intsrc - 1; /* clear the interrupt */
|
||||
cs->interrupt_request &= ~CPU_INTERRUPT_HARD;
|
||||
if (!env->intsrc) {
|
||||
cs->interrupt_request &= ~CPU_INTERRUPT_HARD;
|
||||
}
|
||||
|
||||
ret = true;
|
||||
}
|
||||
|
@ -98,7 +100,7 @@ int avr_cpu_memory_rw_debug(CPUState *cs, vaddr addr, uint8_t *buf,
|
|||
|
||||
hwaddr avr_cpu_get_phys_page_debug(CPUState *cs, vaddr addr)
|
||||
{
|
||||
return addr; /* I assume 1:1 address correspondance */
|
||||
return addr; /* I assume 1:1 address correspondence */
|
||||
}
|
||||
|
||||
bool avr_cpu_tlb_fill(CPUState *cs, vaddr address, int size,
|
||||
|
@ -299,7 +301,7 @@ void helper_outb(CPUAVRState *env, uint32_t port, uint32_t data)
|
|||
}
|
||||
|
||||
/*
|
||||
* this function implements LD instruction when there is a posibility to read
|
||||
* this function implements LD instruction when there is a possibility to read
|
||||
* from a CPU register
|
||||
*/
|
||||
target_ulong helper_fullrd(CPUAVRState *env, uint32_t addr)
|
||||
|
@ -323,7 +325,7 @@ target_ulong helper_fullrd(CPUAVRState *env, uint32_t addr)
|
|||
}
|
||||
|
||||
/*
|
||||
* this function implements ST instruction when there is a posibility to write
|
||||
* this function implements ST instruction when there is a possibility to write
|
||||
* into a CPU register
|
||||
*/
|
||||
void helper_fullwr(CPUAVRState *env, uint32_t data, uint32_t addr)
|
||||
|
|
Loading…
Reference in New Issue