Commit e604b89c authored by Jeffrey Lee's avatar Jeffrey Lee

Don't pointlessly doubly-map external framestores

Detail:
  s/vdu/vdudriver - When mapping external framestores, only double-map them if the driver supports hardware scrolling. Avoids wasting IO address space, and reduces IO space fragmentation if the framestore address changes
Admin:
  Tested on Raspberry Pi 3


Version 6.19. Tagged as 'Kernel-6_19'
parent 831e1d94
......@@ -11,13 +11,13 @@
GBLS Module_HelpVersion
GBLS Module_ComponentName
GBLS Module_ComponentPath
Module_MajorVersion SETS "6.18"
Module_Version SETA 618
Module_MajorVersion SETS "6.19"
Module_Version SETA 619
Module_MinorVersion SETS ""
Module_Date SETS "20 Jan 2019"
Module_ApplicationDate SETS "20-Jan-19"
Module_Date SETS "24 Feb 2019"
Module_ApplicationDate SETS "24-Feb-19"
Module_ComponentName SETS "Kernel"
Module_ComponentPath SETS "apache/RiscOS/Sources/Kernel"
Module_FullVersion SETS "6.18"
Module_HelpVersion SETS "6.18 (20 Jan 2019)"
Module_FullVersion SETS "6.19"
Module_HelpVersion SETS "6.19 (24 Feb 2019)"
END
/* (6.18)
/* (6.19)
*
* This file is automatically maintained by srccommit, do not edit manually.
* Last processed by srccommit version: 1.1.
*
*/
#define Module_MajorVersion_CMHG 6.18
#define Module_MajorVersion_CMHG 6.19
#define Module_MinorVersion_CMHG
#define Module_Date_CMHG 20 Jan 2019
#define Module_Date_CMHG 24 Feb 2019
#define Module_MajorVersion "6.18"
#define Module_Version 618
#define Module_MajorVersion "6.19"
#define Module_Version 619
#define Module_MinorVersion ""
#define Module_Date "20 Jan 2019"
#define Module_Date "24 Feb 2019"
#define Module_ApplicationDate "20-Jan-19"
#define Module_ApplicationDate "24-Feb-19"
#define Module_ComponentName "Kernel"
#define Module_ComponentPath "apache/RiscOS/Sources/Kernel"
#define Module_FullVersion "6.18"
#define Module_HelpVersion "6.18 (20 Jan 2019)"
#define Module_LibraryVersionInfo "6:18"
#define Module_FullVersion "6.19"
#define Module_HelpVersion "6.19 (24 Feb 2019)"
#define Module_LibraryVersionInfo "6:19"
......@@ -819,9 +819,12 @@ ModeChangeSub ROUT
BIC r2, r1, r3 ; (clear the bits)
ADDNE r2, r2, #1<<20 ; yes.. up to next megabyte
BIC r1, r0, r3 ; ensure megabyte boundary at start
MOV r0, #13 ; map in permanently
MOV r0, #OSMemReason_MapIOPermanent ; map in permanently
ORR r0, r0, #1:SHL:8 ; buffered, uncached
ORR r0, r0, #1:SHL:16+1:SHL:17 ; doubly map, access permission specified
ORR r0, r0, #1:SHL:17 ; access permission specified (= usermode access)
LDR lr, [WsPtr, #GraphicsVFeatures]
TST lr, #GVDisplayFeature_HardwareScroll
ORRNE r0, r0, #1:SHL:16 ; doubly map for hardware scrolling (n.b. assuming VRAM is megabtye aligned)
SWI XOS_Memory
BVS %FT581
ADD r0, r1, r5 ; reconstruct base phys address
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment