- 18 Sep, 2012 1 commit
-
-
Jeffrey Lee authored
Fix addresses sent to GraphicsV_SetDMAAddress when external framestore in use. Add ID for BCM2835 VDU HAL device. Detail: hdr/KernelWS, s/vdu/vdudriver, s/vdu/vduwrch - Fixed wrong addresses being sent to GraphicsV_SetDMAAddress when an external framestore is in use. Previously VideoPhysAddr was being treated as if it was the base of screen memory, but that's only the case if an internal framestore is in use. Since VideoPhysAddr is part of PhysRamTable it's not possible to change it to point to an external framestore, so a new workspace variable, TrueVideoPhysAddr, is used instead. hdr/HALDevice - Added device ID for BCM2835 VDU device s/PMF/IIC - Corrected an incorrect comment in IICDoOp Admin: Tested on Raspberry Pi with high processor vectors Version 5.35, 4.79.2.147.2.22. Tagged as 'Kernel-5_35-4_79_2_147_2_22'
-
- 07 Sep, 2012 1 commit
-
-
Jeffrey Lee authored
Detail: Docs/RPiNotes - Deleted, contents no longer relevant s/HAL, s/Kernel, s/vdu/vduswis, s/pmf/key - Cleaned up debug code s/NewIRQs - No need to piggy back on timer 0 IRQ to generate a fake VSync; PushModeInfo already claims/releases TickerV as appropriate if video driver doesn't provide a VSync IRQ. s/NewReset - Re-enable LookForHALRTC call, the stack imbalance bug was fixed before the Pi changes were merged in s/vdu/vducursoft - Streamline PostWrchCursor a bit by only preserving R14 around RestorePointer if the software pointer is in use s/vdu/vdudriver - Amend ModeChangeSub improvements to ensure old external framestore handling logic is used if driver doesn't support framestore growth/realloc Admin: Tested on Raspberry Pi with high processor vectors Kernel now looks to be in a good state for merging back into HAL branch Note - Software mouse pointer support in vducursoft only checks HALVideoFeatures, so doesn't take into account the capabilities o...
-
- 02 Sep, 2012 1 commit
-
-
Jeffrey Lee authored
Detail: hdr/HALEntries - Add new HAL_Video_StartupMode HAL entry to allow the HAL to specify a startup mode s/HAL, s/Kernel - Tweaked debug routines s/vdu/vdudriver - Make use of HAL_Video_StartupMode in InitialiseMode to decide what initial mode should be. Clean up some hacks & debug. Improve handling of external framestores; if bit 5 of GraphicsV_DisplayFeatures r0 is set, the kernel will now allow the display driver to grow/shrink/move its framestore in response to mode changes. s/vdu/vdugrafv - Adjust default GV_FramestoreAddress implementation to only claim vector if HAL returns a framestore s/vdu/vduswis - Re-enable FindOKMode Admin: Tested on Raspberry Pi with high processor vectors Version 5.35, 4.79.2.147.2.18. Tagged as 'Kernel-5_35-4_79_2_147_2_18'
-
- 14 Aug, 2012 2 commits
-
-
Jeffrey Lee authored
Detail: s/HAL - Fix crash in OS_Hardware 4/5 when encountering devices which are newer than the caller supports Admin: Untested, but same fix as Pi branch Version 5.35, 4.79.2.163. Tagged as 'Kernel-5_35-4_79_2_163'
-
Jeffrey Lee authored
Fix crash in OS_Hardware 4 when encountering devices which are newer than the caller supports. Add new device IDs for Raspberry Pi audio devices. Detail: s/HAL - Fixed crash in OS_Hardware 4 when encountering devices which are newer than the caller supports hdr/HALDevice - Added new HAL devices for Raspberry Pi audio devices Admin: Tested on Raspberry Pi with high processor vectors Version 5.35, 4.79.2.147.2.17. Tagged as 'Kernel-5_35-4_79_2_147_2_17'
-
- 20 Jul, 2012 1 commit
-
-
Ben Avison authored
Detail: Revisions Kernel-5_35-4_79_2_153 and Kernel-5_35-4_79_2_161 merged with one trivial conflict. Admin: Confirmed that this builds, but not tested on hardware. Version 5.35, 4.79.2.147.2.15. Tagged as 'Kernel-5_35-4_79_2_147_2_15'
-
- 09 Jul, 2012 2 commits
-
-
Jeffrey Lee authored
Detail: s/PMF/osinit - MonitorLeadType is now stored in ZeroPage again, instead of at whatever R1 happens to point at (which seemed to be 0 when I tried it) Admin: Tested on BB-xM with high processor vectors Version 5.35, 4.79.2.162. Tagged as 'Kernel-5_35-4_79_2_162'
-
Robert Sprowson authored
Previously HAL_PhysInfo took one of two routes to get the arrangment table of arrangement table size. Reorganised to accept a subreason to allow other physical info to be requested. Version 5.35, 4.79.2.161. Tagged as 'Kernel-5_35-4_79_2_161'
-
- 08 Jul, 2012 1 commit
-
-
Jeffrey Lee authored
Detail: s/NewReset - Change default filesystem to SDFS for ARM11 builds, as that's somewhat more appropriate than ADFS when on the Pi. Also now using filesystem numbers from Hdr:FSNumbers instead of magic numbers. Admin: Builds, but untested Version 5.35, 4.79.2.147.2.14. Tagged as 'Kernel-5_35-4_79_2_147_2_14'
-
- 06 Jul, 2012 1 commit
-
-
Ben Avison authored
Detail: This functions like OS_Hardware 4, but enumerates devices in the chronological order of registration. Admin: Builds, but untested. Version 5.35, 4.79.2.160. Tagged as 'Kernel-5_35-4_79_2_160'
-
- 04 Jul, 2012 1 commit
-
-
Robert Sprowson authored
No accepts r0 = b31-24 set 0 b23-16 fully qualified IIC address b15-0 starting offset r1 = buffer pointer r2 = number of bytes to tranfer r4 = b31-24 display number b23-16 head b15-0 reason code (=14) Now returns r0 = result codes as per HAL_IICTransfer() r1 = buffer pointer incremented by number of bytes transferred r2 = number of bytes *not* transferred r4 = 0 Removed '_' after Video in entry numbers to be consistent with other HAL entry naming, and HAL_VideoFlybackDevice. Added IICStatus return numbers to Hdr:HALEntries. Stop calling HAL_MonitorLeadID as only IOMD implemented it - just guess VGA until the graphics driver says otherwise. Version 5.35, 4.79.2.159. Tagged as 'Kernel-5_35-4_79_2_159'
-
- 01 Jul, 2012 1 commit
-
-
Robert Sprowson authored
NewReset.s: The one remaining use of SetBorder was to denote the user asked for and got a CMOS reset, which in the HAL case emitted a warning because setting the border is potentially complicated/slow. To solve this, the reset is noted and replaces the normal RISC OS banner with a warning message. The behaviour and text for this comes from the BBC Master, though the escape key is used in place of break since a reset isn't actually needed. Moved the unused cputable inside its corresponding switch. Two occurrences of WriteS_Translated would have executed the message in the V=1 case. KernelWS/Resources: Flag added to workspace, translation added to messages files. Heapman.s: Commented out use of SetBorder removed. Kernel.s: SetBorder macro removed. Middle.s: Switched out use of SetBorder removed. Super1.s: Conditional WriteS_Translated would try to execute the message in the opposite condition case. Version 5.35, 4.79.2.157. Tagged as 'Kernel-5_35-4_79_2_157'
-
- 26 Jun, 2012 4 commits
-
-
Jeffrey Lee authored
Detail: s/VMSAv6 - Prefetch abort handler address now looked up as ZeroPage-relative Admin: Untested, but same fix as on RPi branch Version 5.35, 4.79.2.156. Tagged as 'Kernel-5_35-4_79_2_156'
-
Jeffrey Lee authored
Detail: s/VMSAv6 - Prefetch abort handler address now looked up as ZeroPage-relative Admin: Tested on Raspberry Pi with high processor vectors Previous commit was a harmless, unintentional merge from HAL branch to RPi branch due to folder mixup Version 5.35, 4.79.2.147.2.12. Tagged as 'Kernel-5_35-4_79_2_147_2_12'
-
Jeffrey Lee authored
Detail: s/VMSAv6 - Prefetch abort handler address now looked up as ZeroPage-relative Admin: Tested on Raspberry Pi with high processor vectors Version 5.35, 4.79.2.147.2.11. Tagged as 'Kernel-5_35-4_79_2_147_2_11'
-
Jeffrey Lee authored
Detail: s/Middle - Callback and breakpoint environment handler workspace is now specified as being ZeroPage relative Admin: Untested, but same fix as on RPi branch Version 5.35, 4.79.2.155. Tagged as 'Kernel-5_35-4_79_2_155'
-
- 24 Jun, 2012 1 commit
-
-
Jeffrey Lee authored
Detail: s/Middle - Callback and breakpoint environment handler workspace is now specified as being ZeroPage relative Admin: Tested on Raspberry Pi with high processor vectors Version 5.35, 4.79.2.147.2.10. Tagged as 'Kernel-5_35-4_79_2_147_2_10'
-
- 21 Jun, 2012 1 commit
-
-
Robert Sprowson authored
With no VRAM, in Kernerl.s.HAL line 370, the less than 16M case sets aside half the RAM as available for video (more than, it uses no more than 32M) but the exactly equals 16M case set aside none. Add some exports to hdr.HALEntries to define the subreasons to OS_Hardware. Version 5.35, 4.79.2.154. Tagged as 'Kernel-5_35-4_79_2_154'
-
- 18 Jun, 2012 1 commit
-
-
Robert Sprowson authored
The only fake result now is the hard ROM amount, which is hardwired to 4MB and might not be correct. Unrelated changes hdr.HALDevice: Assign a device for VIDC20. hdr.KernelWS: Reorder into ascending order, remove legacy addresses. s.ARM600: Move PhysSpaceSize inside :LNOT:HAL switch. s.Kernel: Move PhysSpaceSize inside :LNOT:HAL switch. Version 5.35, 4.79.2.153. Tagged as 'Kernel-5_35-4_79_2_153'
-
- 04 Jun, 2012 1 commit
-
-
Jeffrey Lee authored
Detail: hdr/HALEntries - Brought in line with RPi branch, plus addition of new HAL_UARTDefault HAL entry, to allow DualSerial to determine which (if any) of the HAL UARTs should be the default UART accessed via OS_SerialOp s/GetAll - Add GET of Hdr:SerialOp s/PMF/osbyte - Use OS_SerialOp 10 when constructing filename to open for OS_Byte 2 Admin: Tested in OMAP3, Tungsten ROMs Version 5.35, 4.79.2.152. Tagged as 'Kernel-5_35-4_79_2_152'
-
- 26 May, 2012 1 commit
-
-
Robert Sprowson authored
The kernel already looks after all other aspects of the ARM CPU, so can look after the cache control command too. HelpStrs.s:New tokens for help and syntax CmdHelp.s:UK help and syntax Arthur3.s:Tables updates for *CONFIGURE/STATUS, lined some stuff up, default error text sync'd with Hdr:NewErrors MoreComms.s:Parsing and doing of *CACHE Utility.s:Hashing table updated for *CACHE Other minor changes hdr/Options:Bring 'MosVer' into the private header hdr/RISCOS:aasm aliases for SP removed, MainVars and MosVer made private, added definition of the start of application space HeapMan.s:Use of GRAB changed to Pull Offset of TutuCMOS changed for more informative PrintSoundCMOS PMF/osbyte.s:Use OsBytes header file in place of MainVars Version 5.35, 4.79.2.151. Tagged as 'Kernel-5_35-4_79_2_151'
-
- 23 May, 2012 2 commits
-
-
Ben Avison authored
Detail: An undocumented entry condition of TickOne is that r0 contains the device number corresponding to Timer0. This must be passed to HAL_IRQClear on some platforms. Admin: Tested only on a Raspberry Pi. Also added enumeration of entry numbers in comments in Hdr:HALEntries - a handy reference when debugging from the command line! Version 5.35, 4.79.2.147.2.8. Tagged as 'Kernel-5_35-4_79_2_147_2_8'
-
John Ballance authored
Detail: (list files and functions that have changed) Admin: shown running in system (highlight level of testing that has taken place) (bugfix number if appropriate) Version 5.35, 4.79.2.147.2.7. Tagged as 'Kernel-5_35-4_79_2_147_2_7'
-
- 21 May, 2012 3 commits
-
-
Robert Sprowson authored
-
Robert Sprowson authored
While the HAL and kernel were being split some temporary macros were used for the bits being worked on, after 12 years of use they're probably safe to adopt. mjsCallHAL -> CallHAL; mjsAddressHAL -> AddressHAL; mjsHAL -> HAL. OS_VIDCDividerSWI code now always does NoSuchSWI (had been switched out previously). File vduhint.s no longer assembled (was empty). Version 5.35, 4.79.2.150. Tagged as 'Kernel-5_35-4_79_2_150'
-
John Ballance authored
Detail: (list files and functions that have changed) Admin: (highlight level of testing that has taken place) (bugfix number if appropriate) Version 5.35, 4.79.2.147.2.6. Tagged as 'Kernel-5_35-4_79_2_147_2_6'
-
- 20 May, 2012 1 commit
-
-
John Ballance authored
1: Added HAL_FramebufferAddress entry. 2: Minor mod the NoIrqVecSwiDispatch mods recently submitted. Improved coverage 3: Added compile time switch InverseTextTransparency to toggle sense of text (pre-wimp) for use until correct transparency behaviour is introduced in the RPi start.elf. 4: Ensured that if a non aligned frame buffer is reported, ALL of the space is actually mapped in. Detail: (list files and functions that have changed) Admin: builds and runs .. Still needs service_mode extension work to replace hard coded mode definition files (highlight level of testing that has taken place) (bugfix number if appropriate) Version 5.35, 4.79.2.147.2.5. Tagged as 'Kernel-5_35-4_79_2_147_2_5'
-
- 18 May, 2012 3 commits
-
-
Robert Sprowson authored
Version 5.35, 4.79.2.149. Tagged as 'Kernel-5_35-4_79_2_149'
-
Ben Avison authored
Version 5.35, 4.79.2.147.2.4. Tagged as 'Kernel-5_35-4_79_2_147_2_4'
-
Ben Avison authored
Detail: This one evaded the cull in my last commit Admin: Still works on a Raspberry Pi Version 5.35, 4.79.2.147.2.3. Tagged as 'Kernel-5_35-4_79_2_147_2_3'
-
- 15 May, 2012 1 commit
-
-
Jeffrey Lee authored
Detail: s/Kernel - A bug introduced when adding the BFI optimisations meant that NoIrqVecSwiDespatch was enabling IRQs instead of disabling them, leading to lr_irq corruption and a potential crash if the SWIs were used from IRQ mode Admin: Tested on rev A2 BB-xM Having KeyExtend loaded no longer causes random crashes during keyboard input Fixes issue reported on forums: http://www.riscosopen.org/forum/forums/4/topics/1024#posts-12004 Version 5.35, 4.79.2.148. Tagged as 'Kernel-5_35-4_79_2_148'
-
- 14 May, 2012 1 commit
-
-
Ben Avison authored
Detail: The cache details were previously fixed in a look-up table based upon the CPU as determined from the Main ID register for "fancy" ARMv6 CPUs (that is, ARMv6K, ARMv6Z, ARMv6T2). So the details for the S3C6410 were being used for all ARM1176JZF-S CPUs, which isn't correct for the BCM2835, which has the same CPU. Adrian's original stopgap solution was to override the settings with a bunch of MOV instructions, which had the effect of making the kernel useless on any other CPU. Now the details are read from the ARM cache type register for fancy ARMv6 CPUs. This necessitated adding support for an extra cache type: writeback, with cache cleaning using R7, and cache lockdown format C. Since we don't actually do cache lockdown, this follows the same code path as cache lockdown type A, which was originally written for ARM9 CPUs. Admin: Tested in a Raspberry Pi build Version 5.35, 4.79.2.147.2.2. Tagged as 'Kernel-5_35-4_79_2_147_2_2'
-
- 10 May, 2012 1 commit
-
-
Ben Avison authored
Detail: This is a new branch from the current tip of the HAL branch, incorporating the changes received from Adrian Lees. The same caveats apply - this is a work in progress and will not work on any other platform at present. Admin: Builds, but not tested. Version 5.35, 4.79.2.147.2.1. Tagged as 'Kernel-5_35-4_79_2_147_2_1'
-
- 25 Apr, 2012 1 commit
-
-
Ben Avison authored
Detail: In a couple of early exits from LookForHALRTC, R12 was missing from the pull macros. Admin: Fix received from John Ballance. Version 5.35, 4.79.2.147. Tagged as 'Kernel-5_35-4_79_2_147'
-
- 15 Apr, 2012 1 commit
-
-
Jeffrey Lee authored
Detail: s/ChangeDyn: - Apply various optimisations to OS_ChangeDynamicArea to reduce the execution time when performing large grows/shrinks. - Optimisations can be toggled on/off with FastCDA_* flags for debugging. - On a 1GHz 512MB BB-xM, the initial *FreePool call now takes 0.15s instead of 13.46s. On a 512MB Iyonix the time has dropped from 1.18s to 0.23s. - Growing screen memory (on BB-xM) has also seen significant gains - between 2x and 4x speedup, depending on what state the source pages are in. - Added/updated documentation for a few functions and made more use of ROUTs for safety s/ARM600, s/VMSAv6: - Update BangCamUpdate, etc. to add support for the PageFlags_Unsafe flag that OS_ChangeDynamicArea uses to bypass cache/TLB maintenance in some situations - Avoid BangCamUpdate calling BangL2PT to map out the page if the page isn't mapped in (avoids unnecessary cache/TLB flush) s/ArthurSWIs: - Add extra ASSERT for safety s/AMBcontrol/memory - Fix incorrect assumption that the usable size of a heap block is always 8 less than the value stored in the header. Even with the old 8 byte aligned allocations the usable size will always be 4 bytes less than the value in the header. This code would have resulted in some slight memory wasteage, as AMBcontrol will have always tried growing the block four bytes bigger than needed. Admin: Tested on Iyonix & BB-xM Version 5.35, 4.79.2.146. Tagged as 'Kernel-5_35-4_79_2_146'
-
- 25 Mar, 2012 1 commit
-
-
Robert Sprowson authored
Convrsions.s: Don't trash R4 in OS_ConvertDateAndTime Reject buffer sizes > 2G (seems reasonable for a time string, and allows us to claw back a flag bit). PMF/osword.s: Just call Territory_ConvertDateAndTime directly since that's all OS_ConvertDateAndTime does. Trim some now irrelevant comments and switched out code. Version 5.35, 4.79.2.144. Tagged as 'Kernel-5_35-4_79_2_144'
-
- 24 Mar, 2012 2 commits
-
-
Ben Avison authored
Detail: * As noted in recent commits to ADFS, the *Configure options Dir and NoDir haven't done anything since RISC OS 2, so ADFS has stopped reading the CMOS bit. Unusually, these options are implemented by the kernel, so this is the accompanying change to remove the *Configure options. This frees up a bit of CMOS for future re-use. * Now exports a C version of Hdr:ModHand. Admin: Builds OK, but not tested in a ROM build yet (should be fairly safe though) Version 5.35, 4.79.2.143. Tagged as 'Kernel-5_35-4_79_2_143'
-
Jeffrey Lee authored
Detail: s/AMBControl/service - Fix missing colon on end of :OR: operator Admin: Identical binary under objasm Version 5.35, 4.79.2.142. Tagged as 'Kernel-5_35-4_79_2_142'
-
- 19 Mar, 2012 1 commit
-
-
Robert Sprowson authored
On odd numbered versions was coming out as 7F not F7. Version 5.35, 4.79.2.141. Tagged as 'Kernel-5_35-4_79_2_141'
-
- 17 Mar, 2012 1 commit
-
-
Jeffrey Lee authored
Detail: s/vdu/vdumodes - Mode 47 is 360 pixels wide, so should be 45 text columns, not 90 Admin: Tested in Iyonix ROM softload Version 5.35, 4.79.2.140. Tagged as 'Kernel-5_35-4_79_2_140'
-