- 27 Nov, 2011 4 commits
-
-
Robert Sprowson authored
Export less in hdr:RISCOS. Delete unused GetDecimalPair routine. Move CheckYear with other RTC stuff out of PMF/osword. Hide DebugROMInit and DebugROMErrors in release (even numbered) versions. Version 5.35, 4.79.2.127. Tagged as 'Kernel-5_35-4_79_2_127'
-
Robert Sprowson authored
Implement OS_ConvertVariform, internally the other conversions now just call it. Add tester for Variform to 'Dev'. Made block copy weirdness for XScale dependent on XScale arch flag. Version 5.35, 4.79.2.126. Tagged as 'Kernel-5_35-4_79_2_126'
-
Robert Sprowson authored
Delete pmf/convdate, moved to conversions. Moved OS_BinaryToDecimal to conversions. Remove OS_ConvertHex16 and friends. Add OS_ConvertVariform skeleton. Tidied conversions. Version 5.35, 4.79.2.125. Tagged as 'Kernel-5_35-4_79_2_125'
-
Robert Sprowson authored
Expand tabs. Swap DCI for instructions now Objasm 4 is out. Symbols for FSControl_CAT/RUN/OPT changed to non Arthur definitions. Still boots on IOMD class, no other testing. Version 5.35, 4.79.2.124. Tagged as 'Kernel-5_35-4_79_2_124'
-
- 13 Nov, 2011 2 commits
-
-
Ben Avison authored
Version 5.35, 4.79.2.122. Tagged as 'Kernel-5_35-4_79_2_122'
-
Ben Avison authored
Version 5.35, 4.79.2.98.2.54. Tagged as 'Kernel-5_35-4_79_2_98_2_54'
-
- 24 Sep, 2011 1 commit
-
-
Jeffrey Lee authored
Detail: s/Arthur3, s/ChangeDyn, s/HAL, s/HeapMan, s/Middle, s/MoreSWIs, s/NewIRQs, s/Utility, s/VMSAv6, s/PMF/key, s/PMF/osbyte, s/PMF/osword, s/vdu/vdudecl, s/vdu/vdudriver, s/vdu/vduplot, s/vdu/vduwrch - Tweaked lots of LDM/STM instructions in order to get rid of the depracation/performance warnings Admin: Tested on rev A2 BB-xM Version 5.35, 4.79.2.98.2.53. Tagged as 'Kernel-5_35-4_79_2_98_2_53'
-
- 14 Sep, 2011 1 commit
-
-
Jeffrey Lee authored
Detail: s/ARMops - My previous checkin mistakenly changed Cache_InvalidateAll_WB_CR7_Lx so that it cleans and invalidates the cache instead of just invalidating it. This fixes that. Also fixed a warning caused by the trailing space going AWOL from the 'cache type register fields' comment. Admin: Tested on rev A2 BB-xM Version 5.35, 4.79.2.98.2.52. Tagged as 'Kernel-5_35-4_79_2_98_2_52'
-
- 12 Sep, 2011 2 commits
-
-
Jeffrey Lee authored
Detail: hdr/Copro15ops: - Fixed incorrect encodings of ISH/ISHST variants of DMB/DSB instructions s/ARMops, s/HAL, hdr/KernelWS: - Replace the ARMv7 cache maintenance code with the example code from the ARMv7 ARM. This allows it to deal with caches with non power-of-two set/way counts, and caches with only one way. - Fixed Analyse_WB_CR7_Lx to use the cache level ID register to work out how many caches to query instead of just looking for a 0 result from CSSIDR. - Also only look for 7 cache levels, since level 8 doesn't exist according to the ARMv7 ARM. s/NewReset: - Removed some incorrect/misleading debug output Admin: Tested on rev A2 BB-xM Version 5.35, 4.79.2.98.2.51. Tagged as 'Kernel-5_35-4_79_2_98_2_51'
-
Ben Avison authored
Detail: hdr.ARMops added Cortex_A9 hdr.HALDevice added OMAP4 specific device IDs hdr.KernelWS changed definition of DefIRQ1Vspace for M_CortexA9 s.ARMops added CortexA9 specific code for enabling L2 cache added CPUDesc Cortex_A9 s.NewIRQs added CortexA9 specific definition of MaxInterrupts s.NewReset added M_CortexA9 options line 1444: corrected typo line 187: commented out unnecessary operation Admin: Submission from Willi Theiß Version 5.35, 4.79.2.98.2.50. Tagged as 'Kernel-5_35-4_79_2_98_2_50'
-
- 22 Aug, 2011 1 commit
-
-
Jeffrey Lee authored
Detail: s/HAL - Reset_IRQ_Handler now uses HAL_IRQSource to determine the cause of the interrupt, using that value to work out which IIC bus (if any) generated the IRQ. If it's unrecognised it passes it to HAL_KbdScanInterrupt, and if that fails to do anything it'll disable the IRQ. This aims to fix the spurious "No XStart!" debug spam that the OMAP IIC drivers produce when the keyboard scan is running, and to fix the potential IIC breakage that could occur by the IIC code trying to clear the non-existant interrupt. Note that behaviour of HAL_KbdScanInterrupt has now been changed; it now accepts the device number in a1, and is expected to return either -1 (if the interrupt was handled) or the device number given as input (if the interrupt wasn't handled, e.g. not from a device managed by the keyboard scan code). Admin: Tested on rev C2 BB Version 5.35, 4.79.2.98.2.49. Tagged as 'Kernel-5_35-4_79_2_98_2_49'
-
- 08 Aug, 2011 1 commit
-
-
Jeffrey Lee authored
Detail: A whole mass of changes to add high processor vectors + zero page relocation support to the Cortex branch of the kernel At the moment the code can only cope with two ZeroPage locations, &0 and &FFFF0000. But with a bit more tweaking those restrictions can probably be lifted, allowing ZeroPage to be hidden at almost any address (assuming it's fixed at compile time). If I've done my job right, these restrictions should all be enforced by asserts. There's a new option, HiProcVecs, in hdr/Options to control whether high processor vectors are used. When enabling it and building a ROM, remember: * FPEmulator needs to be built with the FPEAnchor=High option specified in the components file (not FPEAnchorType=High as my FPEmulator commit comments suggested) * ShareFS needs unplugging/removing since it can't cope with it yet * Iyonix users will need to use the latest ROOL boot sequence, to ensure the softloaded modules are compatible (OMAP, etc. don't really softload much so they're OK with older sequences) * However VProtect also needs patching to fix a nasty bug there - http://www.riscosopen.org/tracker/tickets/294 The only other notable thing I can think of is that the ProcessTransfer code in s/ARM600 & s/VMSAv6 is disabled if high processor vectors are in use (it's fairly safe to say that code is obsolete in HAL builds anyway?) Fun challenge for my successor: Try setting ZeroPage to &FFFF00FF (or similar) so its value can be loaded with MVN instead of LDR. Then use positive/negative address offsets to access the contents. File changes: - hdr/ARMops - Modified ARMop macro to take the ZeroPage pointer as a parameter instead of 'zero' - hdr/Copro15ops - Corrected $quick handling in myISB macro - hdr/Options - Added ideal setting for us to use for HiProcVecs - s/AMBControl/allocate, s/AMBControl/growp, s/AMBControl/mapslot, s/AMBControl/memmap, s/AMBControl/service, s/AMBControl/shrinkp, s/Arthur2, s/Arthur3, s/ArthurSWIs, s/ChangeDyn, s/ExtraSWIs, s/HAL, s/HeapMan, s/Kernel, s/MemInfo, s/Middle, s/ModHand, s/MoreSWIs, s/MsgCode, s/NewIRQs, s/NewReset, s/Oscli, s/PMF/buffer, s/PMF/IIC, s/PMF/i2cutils, s/PMF/key, s/PMF/mouse, s/PMF/osbyte, s/PMF/oseven, s/PMF/osinit, s/PMF/osword, s/PMF/oswrch, s/SWINaming, s/Super1, s/SysComms, s/TickEvents, s/Utility, s/vdu/vdu23, s/vdu/vdudriver, s/vdu/vdugrafl, s/vdu/vdugrafv, s/vdu/vdupalxx, s/vdu/vdupointer, s/vdu/vduswis, s/vdu/vduwrch - Lots of updates to deal with zero page relocation - s/ARM600 - UseProcessTransfer option. Zero page relocation support. Deleted pre-HAL ClearPhysRAM code to tidy the file up a bit. - s/ARMops - Zero page relocation support. Set CPUFlag_HiProcVecs when high vectors are in use. - s/KbdResPC - Disable compilation of dead code - s/VMSAv6 - UseProcessTransfer option. Zero page relocation support. Admin: Tested with OMAP & Iyonix ROM softloads, both with high & low zero page. High zero page hasn't had extensive testing, but boot sequence + ROM apps seem to work. Version 5.35, 4.79.2.98.2.48. Tagged as 'Kernel-5_35-4_79_2_98_2_48'
-
- 07 Aug, 2011 3 commits
-
-
Jeffrey Lee authored
Detail: hdr/OSRSI6, s/Middle - Added ESC_Status to the list of items that OS_ReadSysInfo 6 exports Admin: Tested in ROM softload on Iyonix Version 5.35, 4.79.2.121. Tagged as 'Kernel-5_35-4_79_2_121'
-
Jeffrey Lee authored
Detail: hdr/OSRSI6, s/Middle - Added ESC_Status to the list of items that OS_ReadSysInfo 6 exports Admin: Tested on rev A2 BB-xM Version 5.35, 4.79.2.98.2.47. Tagged as 'Kernel-5_35-4_79_2_98_2_47'
-
Jeffrey Lee authored
Detail: hdr/ARMops - Reserve OS_PlatformFeatures 0 bit 20 for indicating whether high processor vectors are in use s/Kernel - Add local definitions of BYTEWS, LDROSB, STROSB, VDWS macros (previously in Hdr:Macros) s/MoreComms - Fix potential buffer overflow when filling error buffer (although GSTrans shouldn't overflow the buffer in the first place?) s/Arthur2 - GSRead number detection fix s/ArthurSWIs - Updated OS_ReadUnsigned to support reading 64bit numbers Docs/ReadUnsigned - Docs for the updated OS_ReadUnsigned interface Admin: Untested! Needs HdrSrc 1.86 Version 5.35, 4.79.2.120. Tagged as 'Kernel-5_35-4_79_2_120'
-
- 06 Aug, 2011 1 commit
-
-
Jeffrey Lee authored
Detail: hdr/ARMops - Reserve OS_PlatformFeatures 0 bit 20 for indicating whether high processor vectors are in use s/Kernel - Add local definitions of BYTEWS, LDROSB, STROSB, VDWS macros (previously in Hdr:Macros) s/MoreComms - Fix potential buffer overflow when filling error buffer (although GSTrans shouldn't overflow the buffer in the first place?) Admin: Tested on rev A2 BB-xM Requires HdrSrc 1.86 Version 5.35, 4.79.2.98.2.46. Tagged as 'Kernel-5_35-4_79_2_98_2_46'
-
- 04 Aug, 2011 2 commits
-
-
Jeffrey Lee authored
Detail: hdr/OSRSI6 - Corrected RO version number from 5.19 to 5.17 Admin: Untested, but testing shouldn't be needed anyway Version 5.35, 4.79.2.119. Tagged as 'Kernel-5_35-4_79_2_119'
-
Jeffrey Lee authored
Detail: s/Middle - Correct the actual item numbers to match those defined in the header 9and those used in the HAL branch) hdr/OSRSI6 - Corrected ROM version numbere where the new items are available from Admin: Untested! Version 5.35, 4.79.2.98.2.45. Tagged as 'Kernel-5_35-4_79_2_98_2_45'
-
- 03 Aug, 2011 2 commits
-
-
Jeffrey Lee authored
Detail: s/Middle - Added some new OS_ReadSysInfo 6 items which are needed by the zero page relocation kernel. Also duplicated some existing entries to avoid conflicts with ROL's allocations. hdr/OSRSI6, Makefile - New header listing OS_ReadSysInfo 6 items hdr/PublicWS - Duplicated the workspace definitions for &0-&4000, but with a 'Legacy_' prefix to their names. Also added some new entries as needed by the zero page relocation kernel. Once existing modules have been updated to use OS_ReadSysInfo 6 & the Legacy_ definitions, the old defs will be removed. hdr/KernelWS - Removed 'Export_' prefix from all the exported workspace values, since the kernel can now use the original names directly hdr/Options - Dummy HiProcVecs option so merging things will be a bit cleaner Admin: Tested on rev A2 BB-xM Version 5.35, 4.79.2.98.2.44. Tagged as 'Kernel-5_35-4_79_2_98_2_44'
-
Jeffrey Lee authored
Detail: s/Middle - Added some new OS_ReadSysInfo 6 items which are needed by the zero page relocation kernel. Also duplicated some existing entries to avoid conflicts with ROL's allocations. hdr/OSRSI6, Makefile - New header listing OS_ReadSysInfo 6 items hdr/PublicWS - Duplicated the workspace definitions for &0-&4000, but with a 'Legacy_' prefix to their names. Also added some new entries as needed by the zero page relocation kernel. Once existing modules have been updated to use OS_ReadSysInfo & the Legacy_ definitions, the old defs will be removed. hdr/KernelWS - Removed 'Export_' prefix from all the exported workspace values, since the kernel can now use the original names directly hdr/Options - Dummy HiProcVecs option so merging things will be a bit cleaner Admin: Tested in ROM softload on Iyonix Version 5.35, 4.79.2.118. Tagged as 'Kernel-5_35-4_79_2_118'
-
- 01 Aug, 2011 3 commits
-
-
Jeffrey Lee authored
Detail: Makefile - Now uses ${PERL} for running perl s/Kernel - Now uses correct "Bad OS_PlatformFeatures reason code" error number s/MemInfo - Updated list of OS_Memory 9 controllers Admin: OMAP3 ROM compiles OK; untested at runtime Version 5.35, 4.79.2.98.2.43. Tagged as 'Kernel-5_35-4_79_2_98_2_43'
-
Jeffrey Lee authored
Detail: Makefile - A couple of makefile rules were invoking perl directly instead of using the more preferential ${PERL}. Fixed. Admin: Tungsten ROM compiles OK, untested at runtime. Version 5.35, 4.79.2.117. Tagged as 'Kernel-5_35-4_79_2_117'
-
Jeffrey Lee authored
Detail: hdr/HALDevice - Device types & IDs for CPU clock generator and GPIO interface hdr/HALEntries - HAL_ExtMachineID entry (but not used by this kernel yet) Admin: Tungsten ROM built OK, but untested at runtime. Version 5.35, 4.79.2.116. Tagged as 'Kernel-5_35-4_79_2_116'
-
- 31 Jul, 2011 3 commits
-
-
Jeffrey Lee authored
Detail: hdr/HALDevice - Added GPIO device type in the Comms group, and an ID for a generic OMAP3 GPIO device hdr/GPIODevice - Definition of GPIO device structure. Currently only used to store the type and revision of the main board, so the GPIO manager module can tailor its features appropriately. Makefile - Export hdr/GPIODevice Admin: Tested on rev A2 BB-xM Version 5.35, 4.79.2.98.2.42. Tagged as 'Kernel-5_35-4_79_2_98_2_42'
-
Jeffrey Lee authored
Detail: Three main changes: * On odd-numbered (i.e. development) versions of the module, the UtilityModule will now take its date from the VersionNum file instead of using a hard-coded date * All build versions now look for the new "extended ROM footer" (as created by romlinker 0.04+) at the end of the ROM image and use it to determine the ROM build date for return by OS_ReadSysInfo 9,2. Failing to find the build date in the footer will cause OS_ReadSysInfo 9,2 to return 0. * On odd-numbered versions, OS_Byte 0 will now use the ROM build date (as found in the extended footer) to generate the error block that's returned to the user. This seems OK as the PRM describes OS_Byte 0 as returning the "creation date of the operating system". Plus it's a convenient way of getting the ROM build date into the Switcher, since the switcher uses OS_Byte 0. If the extended footer can't be found (or if the string isn't initialised yet, e.g. before Service_PostInit) the code falls back to a hard-coded string containing the date from the VersionNum file. File changes: Makefile - Updated to not create the obsolete Time+Date file (previously used for the ROM build date) Version - Use date from VersionNum file for development builds hdr/Options - New UseNewFX0Error variable/option to make it easy to check which OS_Byte 0 variant should be enabled hdr/KernelWS - Added new string buffers & extended ROM footer pointer to workspace s/Middle - Updated OS_ReadSysInfo 9 code, and added utility functions for searching the extended ROM footer for certain tags s/NewReset - Added a couple of calls to initialise the new string buffers just prior to Service_PostInit. This is required since OS_Byte/OS_ReadSysInfo shouldn't enable interrupts, but date conversion relies on the Territory module, which may enable interrupts. s/PMF/osbyte - Updated OS_Byte 0 code Admin: Tested in Tungsten ROM, with and without the extended footer present. Version 5.35, 4.79.2.115. Tagged as 'Kernel-5_35-4_79_2_115'
-
Jeffrey Lee authored
Detail: Three main changes: * On odd-numbered (i.e. development) versions of the module, the UtilityModule will now take its date from the VersionNum file instead of using a hard-coded date. * All build versions now look for the new "extended ROM footer" (as created by romlinker 0.04+) at the end of the ROM image and use it to determine the ROM build date for return by OS_ReadSysInfo 9,2. Failing to find the build date in the footer will cause OS_ReadSysInfo 9,2 to return 0. * On odd-numbered versions, OS_Byte 0 will now use the ROM build date (as found in the extended footer) to generate the error block that's returned to the user. This seems OK as the PRM describes OS_Byte 0 as returning the "creation date of the operation system". Plus it's a convenient way of getting the ROM build date into the Switcher, since the switcher uses OS_Byte 0. If the extended footer can't be found (or if the string hasn't been initialised yet, e.g. before Service_PostInit) the code falls back to a hard-coded string containing the date from the VersionNum file. File changes: Makefile - Updated to not create the obsolete Time+Date file (previously used for the ROM build date) Version - Use date from VersionNum file for development builds hdr/Options - New UseNewFX0Error variable/option to make it easy to check which OS_Byte 0 variant should be enabled hdr/KernelWS - Added new string buffers & extended ROM footer pointer to workspace s/Middle - Updated OS_ReadSysInfo 9 code, and added utility functions for searching the extended ROM footer for certain tags s/NewReset - Added a couple of calls to initialise the new string buffers just prior to Service_PostInit. This is required since OS_Byte/OS_ReadSysInfo shouldn't enable interrupts, but date conversion relies on the Territory module, which may enable interrupts. s/PMF/osbyte - Updated OS_Byte 0 code Admin: Tested in OMAP ROM, with and without the extended footer present. Version 5.35, 4.79.2.98.2.41. Tagged as 'Kernel-5_35-4_79_2_98_2_41'
-
- 24 Jul, 2011 1 commit
-
-
Jeffrey Lee authored
Detail: s/VMSAv6 - The code to detect aborting MVA ops now only runs if the aborting instruction wasn't located in application space. This is a workaround for an issue where: (a) The aborting instruction is in application space (b) The aborting instruction is attempting to access memory located in the same page as itself (c) That page is not mapped in (despite the fact that code is being executed from it) Originally attempting to load the aborting the instruction would have triggered another abort, causing AMBControl to map in the page and resume the first abort handler. The first abort handler would then have determined that it wasn't an MVA op and called AMBControl, only to be told by AMBControl that it wasn't a lazy fixup abort (even though it really was), thus triggering the abort environment handler. By ignoring instructions located in application space the second abort is avoided, allowing AMBControl to correctly process the abort. Admin: Tested on rev A2 BB-xM. Fixes issue with DPScan crashing - http://www.freelists.org/post/davidpilling/DPScan-ARMini-crash Still need to determine how the ICache is able to become so out of sync with the DCache & page tables. Version 5.35, 4.79.2.98.2.40. Tagged as 'Kernel-5_35-4_79_2_98_2_40'
-
- 18 Jul, 2011 1 commit
-
-
Jeffrey Lee authored
Detail: s/MemInfo - List of OS_Memory 9 controllers now updated to include details of the ones that ROL are using, along with which numbers should/shouldn't be safe for us to expand into in the future. Admin: Tested in ROM softload on RiscPC Version 5.35, 4.79.2.114. Tagged as 'Kernel-5_35-4_79_2_114'
-
- 08 Jun, 2011 1 commit
-
-
Jeffrey Lee authored
Detail: hdr/ARMops - Amended ARMvF description to state that an ARMvF CPU can be ARMv6 or ARMv7 s/ARMops - Move ARM11JZF_S CPUDesc to KnownCPUTable_Fancy, since it's ARMvF. Update ARM_Analyse_Fancy to detect whether ARMv6 or ARMv7 style cache control is in use, and react accordingly. s/HAL - Simplified system control register/MMUC initialisation. There are now just two types of setup - one for ARMv3-ARMv5 and one for ARMv6-ARMv7. Modified HAL_InvalidateCache_ARMvF to use the appropriate cache flush instructions depending on whether it's an ARMv6 or ARMv7 style cache. Admin: S3C6410 and other ARMv6 machines should work now. Tested on BB-xM rev A2. Version 5.35, 4.79.2.98.2.39. Tagged as 'Kernel-5_35-4_79_2_98_2_39'
-
- 04 Jun, 2011 2 commits
-
-
Jeffrey Lee authored
Detail: Makefile - Added hdr.Variables to the C header export list hdr/ARMops, s/ARMops - Added ARM1176JZF-S to the list of known CPUs s/ARMops - Fix unaligned memory access in ARM_PrintProcessorType hdr/Copro15ops, s/ARMops, s/HAL, s/VMSAv6, s/AMBControl/memmap - Fixed all myDSB/myISB/etc. macro instances to specify a temp register, so that they work properly when building an ARMv6 version of the kernel Admin: Fixes build errors with the latest Draw module. Should also allow the kernel to work properly with the new S3C6410 port. ARMv6 version builds OK, but no other builds or runtime tests have been made. Version 5.35, 4.79.2.98.2.38. Tagged as 'Kernel-5_35-4_79_2_98_2_38'
-
Jeffrey Lee authored
Detail: Makefile - Added hdr.Variables to the C header export list Admin: Fixes build errors with the latest Draw module Version 5.35, 4.79.2.113. Tagged as 'Kernel-5_35-4_79_2_113'
-
- 22 May, 2011 2 commits
-
-
Jeffrey Lee authored
Detail: Makefile - now exports a C version of hdr.OSEntries Admin: Tested in Iyonix ROM softload. Needed for latest USB drivers to build. Version 5.35, 4.79.2.112. Tagged as 'Kernel-5_35-4_79_2_112'
-
Jeffrey Lee authored
Detail: Makefile - Now exports a C version of hdr.OSEntries, for use by the new HAL USB drivers s/GetAll, s/Kernel - The HALSize env variable is now used in place of hard-coded values for the HAL size s/HAL - Reset_IRQ_Handler now switches to SVC mode before calling HAL_KbdScanInterrupt, to allow the HAL USB drivers to re-enable interrupts if they wish. s/VMSAv6 - Deleted some obsolete definitions Admin: Tested on rev C2 BB, A2 BB-xM, C1 TouchBook Needs latest BuildSys, Env, HdrSrc Version 5.35, 4.79.2.98.2.37. Tagged as 'Kernel-5_35-4_79_2_98_2_37'
-
- 19 Mar, 2011 1 commit
-
-
Jeffrey Lee authored
Detail: hdr/HALDevice - Added device type & ID for new CPUClk device, as used by the new OMAP3 HAL/PortableHAL versions. s/PMF/osinit - Disable a block of dead code that was getting compiled in. Admin: Tested on rev C2 BB, rev A2 BB-xM, rev C1 TouchBook These changes are needed by the latest OMAP3 HAL & PortableHAL versions. Version 5.35, 4.79.2.98.2.36. Tagged as 'Kernel-5_35-4_79_2_98_2_36'
-
- 20 Feb, 2011 2 commits
-
-
Jeffrey Lee authored
Detail: s/Middle, s/PMF/osinit - Kernel now passes the buffer pointer to the HAL in R0 instead of R1, for ATPCS compliance. Admin: Tested on rev A2 BB-xM Version 5.35, 4.79.2.98.2.35. Tagged as 'Kernel-5_35-4_79_2_98_2_35'
-
Jeffrey Lee authored
Detail: OS_ReadSysInfo 10 is left unimplemented since it's a bit fiddly for us. OS_ReadSysInfo 11 is compatible with ROL's implementation, exposing HAL_DebugTX and HAL_DebugRX if the HAL provides them. See here for 10,11 docs: http://select.riscos.com/prm/core/osreadsysinfo.html OS_ReadSysInfo 12 is a new call to return the 'extended machine ID', to allow the HAL to specify the format & validity of the ID. If the HAL responds to the new HAL_ExtMachineID call then it's assumed that no old-style machine ID is present. The Kernel will generate an old-style ID using the contents of the extended ID, and use that with OS_ReadSysInfo 2/5. New software should use OS_ReadSysInfo 12 in preference to 2/5. s/Middle - Updated OS_ReadSysInfo SWI s/PMF/osinit - New old-style machine ID initialisation code hdr/HALEntries - Added new HAL_ExtMachineID entry Admin: Tested on rev A2 BB-xM Version 5.35, 4.79.2.98.2.34. Tagged as 'Kernel-5_35-4_79_2_98_2_34'
-
- 19 Feb, 2011 1 commit
-
-
Jeffrey Lee authored
Detail: OS_IICOp (and in turn, RISCOS_IICOpV) now treat the top byte of R1 as containing the IIC bus number, allowing multiple buses to be used. hdr/KernelWS - Changed workspace a bit so that the kernel can support up to IICBus_Count buses (currently 3), each with its own IICBus_* block. s/HAL - Update Reset_IRQ_Handler to cope with interrupts from all IIC buses instead of just the first. Fix/update RISCOS_IICOpV description. s/NewIRQs - Update InitialiseIRQ1Vtable to set up interrupt handlers for all IRQ-supporting IIC buses s/NewReset - Get rid of the IICAbort call that was just before IICInit. IICInit now calls IICAbort itself. s/PMF/IIC - Bulk of the changes. Code now uses the IICBus_ structures instead of the IICStatus and IICType variables. Re-entrancy code has been updated to take into account the possiblity of multiple buses; when OS_IICOp calls are nested, the IIC transfers will be added to bus-specific queues instead of all going in the same queue. However only one queue will be processed at a time. s/ChangeDyn - Workspace shuffling means a couple of MOV's needed to be swapped with LDR's when getting immediate constants Admin: Tested with OMAP & IOMD ROM builds. Both high & low-level bus types seem to work OK, along with re-entrancy, both on the same bus and on a different bus. Version 5.35, 4.79.2.98.2.33. Tagged as 'Kernel-5_35-4_79_2_98_2_33'
-
- 04 Oct, 2010 1 commit
-
-
Jeffrey Lee authored
Detail: hdr/Options - ARM6support and GetKernelMEMC values are now derived from the value of MEMM_Type s/ARMops, s/HAL - Code to detect and handle ARMv7 CPUs is now only enabled when using VMSAv6 MMU model. Saves us from having to deal with lack of myIMB, myDSB, etc. implementations on pre-ARMv6. s/HAL - Removed some debug code s/NewReset - Fix bug spotted by Tom Walker where R12 wasn't being restored by LookForHALRTC if a non-HAL RTC had already been found s/AMBControl/memmap - correct the assert clause that was checking that &FFE are the correct L2PT protection bits for non-VMSAv6 machines Admin: Tested this kernel on a rev C2 beagleboard & Iyonix softload. Also compiled it into an IOMD ROM, but didn't try running it. Version 5.35, 4.79.2.98.2.32. Tagged as 'Kernel-5_35-4_79_2_98_2_32'
-
- 02 Sep, 2010 1 commit
-
-
Jeffrey Lee authored
Detail: s/VMSAv6 - The code in DAbPreVeneer that checks for aborting MVA-based cache/TLB ops is now re-entrant. This is to cope with the "strange but true" case where a data abort was being triggered by a load/store instruction that itself was in an unmapped page. Admin: Tested on rev C2 beagleboard. Fixes issue with StrongED crashing on load (see http://www.riscosopen.org/forum/forums/5/topics/453) Still need to work out why CPU was able to execute code from the unmapped page without triggering a prefetch abort (stale cache entries?) Version 5.35, 4.79.2.98.2.31. Tagged as 'Kernel-5_35-4_79_2_98_2_31'
-
- 03 Jul, 2010 1 commit
-
-
Jeffrey Lee authored
Detail: s/ARMops - Fixed an instance of 'invalidate branch predictor entry' that should have been 'invalidate all branch predictors' s/ChangeDyn - Avoid cleaning the Nowhere page when reallocating memory, to avoid incurring the performance hit of the abort handler, and to avoid AMBControl screwing things up by mapping in pages that we're trying to modify s/VMSAv6 - Move MVA cache/TLB abort handler to before ChocolateAMB code, to ensure AMBControl doesn't try mapping in pages for harmless cache/TLB op aborts. Also tweaked code to be a little bit faster. Admin: Tested on rev C2 beagleboard. No more lockups when moving screen memory around, for now at least. Version 5.35, 4.79.2.98.2.30. Tagged as 'Kernel-5_35-4_79_2_98_2_30'
-