hw/sun4m.c fix power addresses
PATCH 1/1 hw/sun4m.c fix power addresses
sun4m.c +3 -3
@@ -687,7 +687,7 @@ static const struct hwdef hwdefs[] = { .dma_base = 0x78400000, .esp_base = 0x78800000, .le_base = 0x78c00000, - .power_base = 0x7a000000, + .power_base = 0x71910000, .ecc_base = -1, .sun4c_intctl_base = -1, .sun4c_counter_base = -1,
@@ -727,7 +727,7 @@ static const struct hwdef hwdefs[] = { .dma_base = 0xef0400000ULL, .esp_base = 0xef0800000ULL, .le_base = 0xef0c00000ULL, - .power_base = 0xefa000000ULL, + .power_base = 0xff1a01000ULL, .ecc_base = 0xf00000000ULL, .ecc_version = 0x10000000, // version 0, implementation 1 .sun4c_intctl_base = -1,
@@ -811,7 +811,7 @@ static const struct hwdef hwdefs[] = { .dma_base = 0xef0400000ULL, .esp_base = 0xef0800000ULL, .le_base = 0xef0c00000ULL, - .power_base = 0xefa000000ULL, + .power_base = 0xff1a01000ULL, .ecc_base = 0xf00000000ULL, .ecc_version = 0x20000000, // version 0, implementation 2 .sun4c_intctl_base = -1,
Quoted 3 lines · Robert Reif
diff -p -u -r1.81
sun4m.c
This breaks my tests, so I guess a fix is also needed for OpenBIOS.
Quoted 10 lines · Blue Swirl
Quoted 3 lines · Robert Reif
diff -p -u -r1.81
sun4m.cThis breaks my tests, so I guess a fix is also needed for OpenBIOS.
Probably, they were tested using ss5/170 and ss10 openboot images.
Quoted 5 lines · Robert Reif
Quoted 3 lines · Blue Swirl
On 1/24/08, Robert Reif <[email protected]> wrote:
Quoted 8 lines
Quoted 7 lines
Quoted 3 lines
diff -p -u -r1.81
sun4m.cThis breaks my tests, so I guess a fix is also needed for OpenBIOS.
Probably, they were tested using ss5/170 and ss10 openboot images.
I just noticed that we have confused the devices that OBP calls 'power' and 'power-management'. Power or Aux 2 or Software Powerdown Control can be used to reset or power down the system. OBP trees confirm that it is located at 0x71910000 on SS-5 and 0xff1a01000 on SS-10/20. It does not exist on SS-600.
Power-management a.k.a. APC is used to halt the CPU when idle. It is located at 0x6a000000 on SS-5. It does not exist on SS-x0 or SS-600.
So, Aux2 on SS-10/20 and APC on SS-5 should move to the correct locations.
Now, what to do with the rest? These are motherboard devices, they cannot be added to or removed from real life hardware. Leaving the devices out to improve historical accuracy would mean that the system can't be reset or powered down on SS-600, and on SS-10/20/600 Qemu will consume 100% of host CPU even when the target is idling. This would not be an improvement in usability for sure.
Quoted 35 lines · Blue Swirl
Quoted 14 lines · Robert Reif
Quoted 10 lines · Blue Swirl
Quoted 5 lines · Robert Reif
diff -p -u -r1.81
sun4m.cQuoted 8 lines
Quoted 5 lines
This breaks my tests, so I guess a fix is also needed for OpenBIOS.
Probably, they were tested using ss5/170 and ss10 openboot images.
I just noticed that we have confused the devices that OBP calls 'power' and 'power-management'. Power or Aux 2 or Software Powerdown Control can be used to reset or power down the system. OBP trees confirm that it is located at
0x71910000on SS-5 and0xff1a01000on SS-10/20. It does not exist on SS-600.Power-management a.k.a. APC is used to halt the CPU when idle. It is located at
0x6a000000on SS-5. It does not exist on SS-x0 or SS-600.
Quoted 10 lines
So, Aux2 on SS-10/20 and APC on SS-5 should move to the correct locations.
Now, what to do with the rest? These are motherboard devices, they cannot be added to or removed from real life hardware. Leaving the devices out to improve historical accuracy would mean that the system can't be reset or powered down on SS-600, and on SS-10/20/600 Qemu will consume 100% of host CPU even when the target is idling. This would not be an improvement in usability for sure.
I have a patch waiting to fix the power/aux2 and also aux1. It adds a seperate address for auxio.
power and AUX2 are the same devices on ss5,10 and 20 but at different addresse/offsets. 600mp doesn't have it. auxio is AUX1 and are the sort of the same devices on an ss5 and 10/20 but at different address/offsets. 600mp doesn't have it. The AUX1 bit layout of an ss5 (SLAVIO) is also different from a 10/20 (SEC).
I'm not sure how power-management fits in there other than it's an sbus device: ffd50130 power-management@4,a000000