Kernel Cortex/HAL branch merge
Sprow (202) 1155 posts |
I guess this is mostly going to fall in Mr.Lee’s lap, but I think it’s worth merging the Cortex changes back to the HAL branch. It started being a nice simple job because it was mostly limited to the MCR/MRC gubbins, but the Objasm 4 and zero page changes are also exclusively on the Cortex branch. I think these assemble down to the same thing in the zero page = 0 case, and there are a lot of people using Beagleboards so it must all be lovely. On a selfish front, I’m writing my OS_Convert of long longs and don’t want to merge that twice either. Any thoughts, for or against? |
Jeffrey Lee (213) 6048 posts |
I’m for it. When I checked in the zero page relocation changes I went through and tried to make sure that the Cortex branch was a superset of the HAL branch – so merging the two should just involve a blanket replace of the HAL branch with the Cortex branch. However I’ll do another check before any actual merge takes place. I can’t remember whether I’ve checked IOMD compatibility recently, but I know the kernel runs OK on an Iyonix, since I managed to get the zero page relocation working there. The only bit which might be broken is the year 2010 (or whatever it was) RTC bugfix – by that point I’d modified the Cortex RTC code quite a bit to add support for HAL RTCs. Although the fix in the Cortex branch is based around the fix in the HAL branch, it was implemented slightly differently to take into account the overall changes to the RTC code. And since the RTC battery in my Iyonix is dead, I’m not sure whether I’ll be able to test the fix myself (I think the clock can retain the current time between resets, maybe that’ll be enough to test the fix). |
Sprow (202) 1155 posts |
The change is isolated to the ‘CheckYear’ function in PMF/OSWord. You don’t need a working battery to check it – as long as the clock is running just set it to late December 2009 and wait for it to rollover to 200A instead of 2010. |
Jeffrey Lee (213) 6048 posts |
After fitting a new RTC battery (thanks CJE!) and flashing a ROM which uses the Cortex kernel I’ve been able to confirm that the RTC bug is fixed. So I’ve gone ahead and merged the two kernel branches. It turns out that the Kernel branch was a superset of the HAL branch, so after fixing a couple of simple merge conflicts I ended up with a new HAL kernel that’s an exact duplicate of the current Cortex kernel. Since one of the aims of this merge was to prevent having to check in changes twice (one for the HAL branch, one for the Cortex branch), I’ve now put the Cortex branch out to pasture by updating the various products files to use the HAL branch of the kernel instead of the Cortex branch. So if anyone was working on any kernel changes (probably just Adrian for the Raspberry Pi port?) they might have to be careful when they come to check them in. |