1. 18 Aug, 1999 2 commits
  2. 23 Nov, 1998 1 commit
  3. 19 May, 1998 1 commit
  4. 28 Apr, 1998 1 commit
    • Mike Stephens's avatar
      - Fix problem with OS_DynamicArea 8 (clamps on maximum size). · ebdc33e7
      Mike Stephens authored
         If clamp was less than requested initial size, clamp was still being
         applied, which breaks API of OS_DynamicArea 0 by giving less than
         requested size without returning error.
         Fix is to allow requested initial size to defeat clamp, which is also
         much more useful (allows max size to float up to what client obviously
         needs).
       - Kernel now enumerates dynamic areas in alphabetical order - gives much
         neater switcher display with only small extra cost on area creation
         (getting switcher to do sort would be expensive/messy). Performance
         here still wipes the floor with old kernels.
      ebdc33e7
  5. 14 Apr, 1998 1 commit
    • Mike Stephens's avatar
      - reestablish ownership of RAMFS dynamic area by kernel; this may be switched... · a0a335dd
      Mike Stephens authored
      - reestablish ownership of RAMFS dynamic area by kernel; this may be switched out again later, if new RAMFS takes over ownership
      
       - make ChangeDynamicArea allow re-entrancy slightly earlier on a shrink;
         now allows re-enter after page moves but before calling any post-shrink
         handler; this should fix problem with RAMFS and new FileCore (that now
         itself uses dynamic areas); needs testing once we pull a ROM together
       - Fix following bugs:
          - (new) kernel was keeping modules on active service chains during
            call to their finalise, now temporarily delinks them, as the API
            says it should; symptom eg. Zap 1.39 fails to quit (module Zap)
          - (longstanding) *help in a taskwindow was very dangerous (eg quit
            window, run other *help, start new window can all take out OS,
            by fundamentally cracking MessageTrans); fix: *help now does not
            keep MessageTrans descriptor on SVC stack (swapped out on pre-empt),
            now has re-entrancy guard, gives 'busy' error if reentered; minor
            infelicity is that busy message may be given on new *help after
            abandoning old one in taskwindow, but the next *help will work
          - (longstanding) *time could occasionally give a scrambled message on
            first call in a taskwindow (caused by multiple use of a general
            buffer)
      a0a335dd
  6. 26 Mar, 1998 1 commit
    • Mike Stephens's avatar
      added support for Sparse dynamic areas fixed performance disaster caused by... · fb4d7cd3
      Mike Stephens authored
      added support for Sparse dynamic areas fixed performance disaster caused by naff API for Shrinkable areas implemented clamps for dynamic areas max size configured kernel to not own or create RAMFS area (needs new RAMFS)
      
      AMBControl now uses system heap for space, not RMA
      AMBControl enables Lazy task swapping if running on rev T or better SA
      kernel now assumes there could be code above 64M
      SWIS for limited 32 bit user code support implemented
      Long command lines implemented (1k instead of 256)
      Fast service call distribution implemented (uses Ursula module format)
      *fx,*key etc now allow missing space before first parameter
      *configure is reinstated (bug fix)
      fb4d7cd3
  7. 08 Dec, 1997 1 commit
    • Mike Stephens's avatar
      Various speed ups · 5804de48
      Mike Stephens authored
      Memory map changes:
      remove shadow ROM
      move UNDEF stack, SoftCAM and MMU tables above 64M
      expand RMA limit to 15M from 11M
      expand SysHeap limit to 3M-32k from 2M-8k
      expand SVC stack to 32k from 8k
      partially protect kernel workspace from user access
      protect SVC stack from user access
      5804de48
  8. 21 Oct, 1997 1 commit
    • Mike Stephens's avatar
      1) Fixes and tidy ups: · ad796332
      Mike Stephens authored
         - mapping of Cur/Sys/Sound area done more elegantly, and soft CAM info
           is now consistent with it
         - cached screen cleaning on VSync performed *after* VSync events
         - comments at top of ARM600 modernised
         - Pages_Unsafe/Safe code fixed to work properly on StrongARM with
           pages that are involved in interrupts (there is no fix for ARM8,
           since that is unlikely to be needed - an ASSERT checks use of ARM8
         - OS_DynamicArea code souped up, to be much more efficient for large
           numbers of dynamic areas (see comments near top of ChangeDyn)
         - cached screen is now suspended on h/w scroll (avoids possible cache
           incoherency)
      2) API changes:
         - new OS_Memory reason code (10) allows Wimp to inform kernel of
           Wimp_ClaimFreeMemory, and can control VRAM rescue (see below)
         - new OS_ReadSysInfo reason code (6) allows reading of kernel values
           (reserved for Acorn use, eg. for SoftLoad, ROMPatch)
         - new OS_DynamicArea reason codes (6 and 7) allow for more efficient
           monitoring of dynamic areas by TaskManager (reserved for Acorn use)
      3) Changes for Phoebe:
         - kernel runs a VRAM rescue process, which ensures that any VRAM not
           used for the screen is reclaimed if necessary and sinks to the bottom
           of the Free Pool. This is important for Phoebe, where VRAM is slower
           than SDRAM, but does no harm on other platforms.
         - logical copy of physical RAM is removed from memory map. This frees
           up 256M of address space that will later be used for PCI on Phoebe,
           but should do no harm on other platforms (this space is marked
           private in PRMs, so 3rd parties should not use it).
      ad796332
  9. 09 Sep, 1997 1 commit
  10. 18 Jun, 1997 1 commit
  11. 16 Jun, 1997 1 commit
  12. 23 May, 1997 1 commit
  13. 21 May, 1997 2 commits
    • Mike Stephens's avatar
      Added following enhancements: · 4e024bdb
      Mike Stephens authored
       - Chocolate screen mapping (section mapped and cached), StrongARM only
         Phoebe h/w (IOMD 2) will have register to assist this, but code currently
         relies on data abort mechanism to keep screen up to date wrt write-back
         data cache.
      
       - Chocolate AMBControl task switching (lazy page mapping), StrongARM only
         Improves task swapping speed. There appears to be a StrongAEM silicon
         bug rev 2 and 3) which means that LDMIB rn, {regs includind rn} cannot
         be reliably restarted after a data abort. This stuffs Chocolate AMBControl
         (awaiting response from Digital).
      
      Both enhancements need more work to complete for Phoebe. Chocolate AMBControl
      may well have to be made dormant because of silicon bug.
      
      Note that this kernel *will* cause problems with task switching on StrongARM,
      unless Chocolate task switching is disabled via !Flavour application.
      4e024bdb
    • Mike Stephens's avatar
      Added following enhancements: · 1c49b058
      Mike Stephens authored
       - Chocolate screen mapping (section mapped and cached), StrongARM only
         Phoebe h/w (IOMD 2) will have register to assist this, but code currently
         relies on data abort mechanism to keep screen up to date wrt write-back
         data cache.
      
       - Chocolate AMBControl task switching (lazy page mapping), StrongARM only
         Improves task swapping speed. There appears to be a StrongAEM silicon
         bug rev 2 and 3) which means that LDMIB rn, {regs includind rn} cannot
         be reliably restarted after a data abort. This stuffs Chocolate AMBControl
         (awaiting response from Digital).
      
      Both enhancements need more work to complete for Phoebe. Chocolate AMBControl
      may well have to be made dormant because of silicon bug.
      
      Note that this kernel *will* cause problems with task switching on StrongARM,
      unless Chocolate task switching is disabled via !Flavour application.
      1c49b058
  14. 20 May, 1997 1 commit
  15. 16 May, 1997 1 commit
  16. 14 May, 1997 1 commit
    • ROOL's avatar
      This commit was manufactured by cvs2git to create branch 'Ursula'. · 5ae18e97
      ROOL authored
      Sprout from Black 1996-11-05 09:41:48 UTC Neil Turton <nturton@gitlab.riscosopen.org> 'Import from cleaned 360 CD'
      Cherrypick from master 1997-05-14 12:40:00 UTC Kevin Bracey <kbracey@gitlab.riscosopen.org> 'Taught AMBControl about shrinkable dynamic areas':
          BlackLog
          Docs/5thColumn/+Access,ffd
          Docs/5thColumn/+SrcIndex
          Docs/5thColumn/+SrcIndexO
          Docs/MemMaps/+Access,ffd
          Docs/MemMaps/+SrcIndex
          Docs/MemMaps/+SrcIndexO
          Docs/PrivDoc/+Access,ffd
          Docs/PrivDoc/+SrcIndex
          Docs/PrivDoc/+SrcIndexO
          Docs/PrivDoc/5thColumn/+Access,ffd
          Docs/PrivDoc/5thColumn/+SrcIndex
          Docs/PrivDoc/5thColumn/+SrcIndexO
          Makefile
          MkRom,fd7
          MkRomInst,fd7
          TestSrc/Begin
          TestSrc/ExtIO
          TestSrc/Ioc
          TestSrc/Mem1IOMD
          TestSrc/Mem2
          TestSrc/Mem3
          Version
          hdr/ExportVals/s/GetVals
          hdr/ExportVals/values
          hdr/KernelWS
          hdr/KeyWS
          hdr/PublicWS
          hdr/RISCOS
          hdr/VduExt
          s/AMBControl/growp
          s/ARM600
          s/Arthur2
          s/ArthurSWIs
          s/ChangeDyn
          s/Convrsions
          s/GetAll
          s/HeapMan
          s/KbdResPC
          s/Kernel
          s/MemInfo
          s/Middle
          s/ModHand
          s/NewIRQs
          s/NewReset
          s/PMF/i2cutils
          s/PMF/mouse
          s/PMF/osbyte
          s/PMF/osinit
          s/SWINaming
          s/SysComms
          s/vdu/vdudecl
          s/vdu/vdudriver
          s/vdu/vdugrafl
          s/vdu/vdumodes
          s/vdu/vdupal20
          s/vdu/vdupointer
          s/vdu/vduswis
      Cherrypick from StrongARM 1997-05-07 06:30:31 UTC Kevin Bracey <kbracey@gitlab.riscosopen.org> 'Correct RISC OS 3.71 import':
          Docs/!ReadMe
          Docs/0197276.02
          Docs/5thColumn/Manual
          Docs/A540Extend
          Docs/AMBControl
          Docs/Kernel
          Docs/KernlSplit
          Docs/MMUControl
          Docs/MemMaps/130
          Docs/MemMaps/258
          Docs/Mode22
          Docs/Modes
          Docs/MonLead
          Docs/PaletteV
          Docs/PrivDoc/5thColumn/Concept
          Docs/PrivDoc/MMPM
          Docs/PrivDoc/ScreenMode
          Docs/ReadSysInf
          Docs/TVmodesMed,dde
          s/AMBControl/AMB
          s/AMBControl/Memory
          s/AMBControl/Options
          s/AMBControl/Workspace
          s/AMBControl/allocate
          s/AMBControl/deallocate
          s/AMBControl/growshrink
          s/AMBControl/main
          s/AMBControl/mapslot
          s/AMBControl/mapsome
          s/AMBControl/memmap
          s/AMBControl/readinfo
          s/AMBControl/service
          s/AMBControl/shrinkp
          s/Copro15ops
      Cherrypick from Spin_xx 1996-11-21 12:14:21 UTC Neil Turton <nturton@gitlab.riscosopen.org> 'Import from SrcFiler':
          TestSrc/InitModule
          TestSrc/LEDDelay
          TestSrc/ROMCard
          TestSrc/ShowIOMDRs
          TestSrc/ToggleLED
      Delete:
          Doc/!ReadMe
          Doc/0197276.02
          Doc/A540Extend
          Doc/Kernel
          Doc/KernlSplit
          Doc/MMUControl
          Doc/Mode22
          Doc/Modes
          Doc/MonLead
          Doc/PaletteV
          Doc/ReadSysInf
          Doc/TVmodesMed,dde
      5ae18e97
  17. 05 Nov, 1996 2 commits