1. 14 Oct, 2012 1 commit
    • Jeffrey Lee's avatar
      Add branch predictor maintenance to WB_CR7_LDa ARMops · 241a5988
      Jeffrey Lee authored
      Detail:
        s/ARMops - Added branch predictor maintenance to WB_CR7_LDa ARMops. If the entire instruction cache is being invalidated then the branch predictors will be invalidated for us, but for ranged invalidation we need to handle it ourselves.
      Admin:
        Tested briefly on Raspberry Pi with high processor vectors
        Appears to fix Configure and its plugins misbehaving in various ways
      
      
      Version 5.35, 4.79.2.173. Tagged as 'Kernel-5_35-4_79_2_173'
      241a5988
  2. 09 Oct, 2012 1 commit
    • Jeffrey Lee's avatar
      Use the right setting for WimpIconiseButton · d803824b
      Jeffrey Lee authored
      Detail:
        s/NewReset - WimpIconiseButton is bit 7 of WimpDragMoveLimitCMOS, not bit 2
      Admin:
        Tested on Raspberry Pi
      
      
      Version 5.35, 4.79.2.172. Tagged as 'Kernel-5_35-4_79_2_172'
      d803824b
  3. 08 Oct, 2012 1 commit
    • Steve Revill's avatar
      Some tweaks ahead of an RPi code freeze. · 276a05dd
      Steve Revill authored
      Default CMOS tweaks now apply for the RPi hardware. Was missed in
      the previous commit.
      
      You can now build the Kernel without the ROM debug output stuff
      that's enabled for odd-numbered builds, by passing FREEZE_DEV_REL=TRUE
      into the makefile. For example, in the Components file, you'd add:
      
        -options FREEZE_DEV_REL=TRUE
      
      onto the Kernel line.
      
      Version 5.35, 4.79.2.171. Tagged as 'Kernel-5_35-4_79_2_171'
      276a05dd
  4. 07 Oct, 2012 1 commit
    • Robert Sprowson's avatar
      Actually pay attention to configured cache preferences · ee2fa7bc
      Robert Sprowson authored
      The kernel recently took back ownership of the *CACHE command and it's configure counterpart, but wasn't reading the CMOS value on startup.
      Spotted while looking at bus transactions on IOMD, and wondering where they all are, then realising it's all running from the cache.
      
      Version 5.35, 4.79.2.170. Tagged as 'Kernel-5_35-4_79_2_170'
      ee2fa7bc
  5. 06 Oct, 2012 1 commit
  6. 30 Sep, 2012 2 commits
    • Jeffrey Lee's avatar
      Initialise IIC earlier in the startup sequence. Add ID for Pandora audio HAL device · e36a0e28
      Jeffrey Lee authored
      Detail:
        s/HAL, s/NewReset - Moved IIC initialisation to just after timer initialisation, and crucially, before keyboard scan initialisation. This makes things a lot easier for the HAL if it wants to use IIC during the keyboard scan (previously IIC would be enabled inbetween HAL_KbdScanSetup and the first call to HAL_KbdScan)
        hdr/HALDevice - Added a device ID for the Pandora audio controller
      Admin:
        Tested on Pandora
      
      
      Version 5.35, 4.79.2.168. Tagged as 'Kernel-5_35-4_79_2_168'
      e36a0e28
    • Robert Sprowson's avatar
      Add *CONFIGURE [No]Num for control over the num lock state · d27714ee
      Robert Sprowson authored
      STB default = off, desktop default = on.
      Collapsed single use of 'ErrorsInR0' switch.
      
      Version 5.35, 4.79.2.167. Tagged as 'Kernel-5_35-4_79_2_167'
      d27714ee
  7. 21 Sep, 2012 1 commit
    • Jeffrey Lee's avatar
      Add new HID device type & ID for Pandora keyboard · 3ea05a2f
      Jeffrey Lee authored
      Detail:
        hdr/HALDevice - Added new HID device type, Keyboard sub-type, and Pandora keyboard device ID
      Admin:
        Tested on Pandora, rev C2 BB, rev A2 BB-xM, rev C1 TouchBook
      
      
      Version 5.35, 4.79.2.166. Tagged as 'Kernel-5_35-4_79_2_166'
      3ea05a2f
  8. 18 Sep, 2012 3 commits
    • Jeffrey Lee's avatar
      Merge with RPi branch · 9f9f1bab
      Jeffrey Lee authored
      Detail:
        Merge the RPi branch with the HAL branch, ending RPi branch development
        Brief summary of changes brought in:
        * Added HAL_VideoStartupMode to allow the HAL to specify a startup mode for the OS
        * Fixed addresses being sent to GraphicsV_SetDMAAddress being wrong for external framestores (addresses were given as if internal framestore was in use)
        * Add InverseTextTransparency option for limited compile-time support for targets where framebuffer alpha channel is important
        * Fix ConfiguredLanguage for non-Tungsten builds
        * Update ARMv6 CPU detection to read cache parameters from cache type register instead of using KnownCPUTable
        * Add HALDebugHexTX/TX2/TX4 debug routines for writing out numbers via HAL
        * Use HAL_TimerIRQClear when clearing timer 0 interrupt instead of just HAL_IRQClear
        * Initialise FileLangCMOS using defines from Hdr:FSNumbers instead of magic numbers. Use SDFS on M_ARM11ZF.
        * Improved software mouse pointer support; software pointer now removed & restored in some of the same places the text cursor is
        * Improve support for external framestores; driver is now able to grow/shrink/move the framestore on mode changes if bit 5 of GraphicsV_DisplayFeatures R0 is set
        * GraphicsV_FramestoreAddress now has a default claimant which calls HAL_VideoFramestoreAddress
      Admin:
        Tested on Raspberry Pi, Iyonix, OMAP3, IOMD
      
      
      Version 5.35, 4.79.2.165. Tagged as 'Kernel-5_35-4_79_2_165'
      9f9f1bab
    • Jeffrey Lee's avatar
      Merge with HAL branch · 60741ecc
      Jeffrey Lee authored
      Detail:
        Merge the HAL branch into the RPi branch, prior to merging RPi to HAL
        Brief summary of main changes brought in:
        * Added *cache functionality previously provided by ARM module
        * Added "CMOS RAM reset" message on startup when CMOS has been wiped by keypress
        * Renamed HAL Video entries from HAL_Video_XXX to HAL_VideoXXX
        * Dropped mjsHAL macros, GRAB/STASH macros
        * Fixed pseudo-VRAM allocation when machine has exactly 16MB of RAM
        * Added OS_Hardware 5
        * Use OS_SerialOp GetDeviceName for getting serial device name
        * Drop HAL_MonitorLeadID
        * Rework default GraphicsV_IICOp handler
      Admin:
        Tested on Raspberry Pi with high processor vectors
      
      
      Version 5.35, 4.79.2.147.2.23. Tagged as 'Kernel-5_35-4_79_2_147_2_23'
      60741ecc
    • Jeffrey Lee's avatar
      Fix addresses sent to GraphicsV_SetDMAAddress when external framestore in use.... · 5c0a0186
      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'
      5c0a0186
  9. 08 Sep, 2012 1 commit
  10. 07 Sep, 2012 1 commit
    • Jeffrey Lee's avatar
      Clean up remaining kernel hacks · ef670f73
      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 of any GraphicsV driver that may be in use.
      
      
      Version 5.35, 4.79.2.147.2.20. Tagged as 'Kernel-5_35-4_79_2_147_2_20'
      ef670f73
  11. 03 Sep, 2012 1 commit
  12. 02 Sep, 2012 1 commit
    • Jeffrey Lee's avatar
      Preperation for working Raspberry Pi video driver · 3981af57
      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'
      3981af57
  13. 20 Aug, 2012 1 commit
  14. 14 Aug, 2012 2 commits
  15. 02 Aug, 2012 1 commit
    • Jeffrey Lee's avatar
      Add new HAL device IDs for Raspberry Pi GPIO interface & VCHIQ · a58268ed
      Jeffrey Lee authored
      Detail:
        hdr/HALDevice - Add new inter-processor communications device type. Add device IDs for Pi/BCM2835 GPIO interface & VCHIQ
        hdr/GPIODevice - Add Raspberry Pi GPIO type & interface revision (currently 'unknown')
      Admin:
        Tested in Raspberry Pi ROM with high processor vectors
        New IDs required for BCM2835-0_17
      
      
      Version 5.35, 4.79.2.147.2.16. Tagged as 'Kernel-5_35-4_79_2_147_2_16'
      a58268ed
  16. 20 Jul, 2012 1 commit
  17. 09 Jul, 2012 2 commits
    • Jeffrey Lee's avatar
      Fix hang on startup with high processor vectors · ea37167d
      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'
      ea37167d
    • Robert Sprowson's avatar
      Sort out hard ROM size for HALs with no hard ROM · 6e934a16
      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'
      6e934a16
  18. 08 Jul, 2012 1 commit
    • Jeffrey Lee's avatar
      Change default filesystem to SDFS in Raspberry Pi/ARM11 builds · 7c2d9d92
      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'
      7c2d9d92
  19. 07 Jul, 2012 1 commit
  20. 06 Jul, 2012 1 commit
    • Ben Avison's avatar
      Added OS_Hardware 5 · 2b88f4fb
      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'
      2b88f4fb
  21. 04 Jul, 2012 1 commit
    • Robert Sprowson's avatar
      Make GraphicsV_IICOp more consistent · c671badb
      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'
      c671badb
  22. 02 Jul, 2012 1 commit
  23. 01 Jul, 2012 1 commit
    • Robert Sprowson's avatar
      Sort out SetBorder · fe354937
      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'
      fe354937
  24. 26 Jun, 2012 4 commits
  25. 24 Jun, 2012 1 commit
  26. 21 Jun, 2012 1 commit
    • Robert Sprowson's avatar
      Fix failure to boot with exactly 16MB of RAM · a790a6c2
      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'
      a790a6c2
  27. 18 Jun, 2012 1 commit
    • Robert Sprowson's avatar
      Make OS_Memory 8 return more correct values · b6cfcbdf
      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'
      b6cfcbdf
  28. 04 Jun, 2012 2 commits
    • Jeffrey Lee's avatar
      Bring Hdr/HALEntries in line with HAL branch · 2b1cad9c
      Jeffrey Lee authored
      Detail:
        Hdr/HALEntries - Added HAL_UARTDefault entry, as per HAL branch
      Admin:
        Untested
      
      
      Version 5.35, 4.79.2.147.2.9. Tagged as 'Kernel-5_35-4_79_2_147_2_9'
      2b1cad9c
    • Jeffrey Lee's avatar
      Add new HAL entry, HAL_UARTDefault. Make use of Hdr:SerialOp & OS_SerialOp 10. · 5519f1d8
      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'
      5519f1d8
  29. 26 May, 2012 1 commit
    • Robert Sprowson's avatar
      Adoption of *CONFIGURE/STATUS CACHE commands · ef95917b
      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'
      ef95917b
  30. 23 May, 2012 2 commits
    • Ben Avison's avatar
      Refinement to Timer clear change from a recent commit · 250f852b
      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'
      250f852b
    • John Ballance's avatar
      Added HAL_TimerIRQClear cann for system timer 0 · 41e5831f
      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'
      41e5831f