New SDIODriver
Chris Gransden (337) 1194 posts |
I noticed the new SDIODriver had appeared on gitlab so gave it a quick test. After applying all the patches everything built OK but the HAL was just over 64K so romlinker gave a ‘Kernel overlaps previous data error’. Updating the components file to 0xFC020000 got the build to finish. RISC OS booted up OK but the CMOS file wasn’t loaded. The extra devices show up OK with sdiodevices and sdioslots using a CM4 lite 4GB wifi model.
|
David Pitt (3386) 1248 posts |
I repeated the above 128K HAL size build here. From previous RPi builds I expected that the build with the enlarged HAL space would not fit into a 5M ROM so a 6M image was built. To get CMOS to work that would require a tweak to Image size : 6144K ... romlinker: Standard ROM image construction romlinker: Image has 988472 bytes spare (965.30K) There is no mention above of 6M however, so a conventional 5M image was attempted, and just look at all that spare space. (It would seem that the ROM symbols take up about 250KB, whatever they are, and do they matter anyway.) Update ROM symbols are a debugging aid. Image size : 5120K ... romlinker: Standard ROM image construction romlinker: Warning: Insufficient space for ROM symbols romlinker: Image has 220436 bytes spare (215.27K) The 5M ROM was installed in the RPi4, the extra SDIO devices are seen. *sdiodevices Bus Slt RCA Fun Description Capacity Vendor Product Rev Date 0 0 0007 0 SDHC card 3796 Mbytes PH SD04G 3.0 2014-09 1 0 0001 1 SDIO non-standard function Broadcom A9A6 1 0 0001 2 SDIO non-standard function Broadcom A9A6 1 0 0001 3 SDIO Bluetooth Type-A Broadcom A9A6 *sdioslots Bus Slt Voltage Width Frequency 0 0 3.3 V 4-bit 50 MHz SDR 1 0 3.3 V 4-bit 500 kHz SDR * CMOS is working here. |
Jon Abbott (1421) 2640 posts |
Is this why the nightly build timestamp is 6th Jan 2022? Is it failing to build, or has this new SDIO not made it into the nightly build yet? I’ve also noted chatter about Wi-Fi in the commits – is Wi-Fi support now work-in-progress? |
Chris Gransden (337) 1194 posts |
It’s not made it yet.
The Wi-Fi bit is just exposing the SDIO devices that are there. |
David Pitt (3386) 1248 posts |
A minor failure building a Pi ROM that includes the not yet released SDIODriver. ARM Linker: (Error) Undefined symbol(s). ARM Linker: VFPSupport_CreateContext, referred to from aof.SDIODriver. ARM Linker: VFPSupport_DestroyContext, referred to from aof.SDIODriver. ARM Linker: VFPSupport_ChangeContext, referred to from aof.SDIODriver. ARM Linker: Errors in link, no output generated. As an expedient an extra header file was used. #define VFPSupport_CreateContext 0x58ec1 #define VFPSupport_DestroyContext 0x58ec2 #define VFPSupport_ChangeContext 0x58ec3 HTH Update I am beginning to think I missed part of the overall opdate. |
Chris Gransden (337) 1194 posts |
Looks like it’s this patch. |
David Pitt (3386) 1248 posts |
Many thanks, that was it. By my count there are three components in some state of readiness, HAL_BCM2835, RISC_OSLib and SDIODriver. Also there is the HALSize yet to be decided. (Oh, and a WiFi driver!) |
David Pitt (3386) 1248 posts |
This is intended as a heads up for developers. Paint is growing as alpha transparency support is added. This is from a build of today’s, 13Feb22, PiROM source code tarball. romlinker: Standard ROM image construction romlinker: Image has 4797 bytes spare (4.68K) Adding in the new SDIODriver, including the recent suggestion intended to reduce HAL workspace to keep HALSize at 128K and to keep the debugging table, gives this. romlinker: Standard ROM image construction romlinker: Warning: Insufficient space for ROM symbols romlinker: Image has 276220 bytes spare (269.75K) The loss of ROM symbols is only a potential issue for developers. |
Chris Gransden (337) 1194 posts |
The new sdiodriver changes don’t mention the cm4 so I did some testing on a CM4 Wi-Fi version with and without eMMC. The correct sdfs icons now shows on the icon bar. Previously it showed the scsifs icon. On the version with eMMC the sdfs icon displays on the icon bar but when clicked on always gives a drive empty error. I assume there’s still no support for eMMC on the CM4. *sdioslots on the eMMC version gives,
|
Chris Hall (132) 3544 posts |
I think the cm4 offers an 8 bit bus for the eMMC which is a new development… |
Simon Willcocks (1499) 506 posts |
Not related to the SDIODriver, but I also want to produce a ROM with more HAL space, but I’m having problems. Any suggestions? I’ve tried the following changes, but Kernel_gpa still says FC010000, not FC020000, even after a complete rebuild (List→Join ROM):
|
David Pitt (3386) 1248 posts |
Try restarting Builder, it reads some data at startup and may not notice later changes. |
Simon Willcocks (1499) 506 posts |
Thanks, I’ll give it a go. |
David Pitt (3386) 1248 posts |
And check that the correct HALSize file is in And a bit more Having found |
Simon Willcocks (1499) 506 posts |
The former didn’t do it, but thanks for the extra hint. Running now. (Without restarting Builder, I’ll be back in 45 or 90 minutes!) |
Simon Willcocks (1499) 506 posts |
That did it, thanks. (Even though I didn’t rename the file in Export.APCS-32.Hdr.Global.HALSize from 64K to 128K.) Progress! |