Raspberry Pi 4
Pages: 1 2 3 4 5 6 7 8 9 10 11 ... 26
Jay (408) 34 posts |
Hello! Assuming RISC OS will need some tweaks to run on the newer Broadcom chip? |
Stuart Painting (5389) 718 posts |
A quick check shows that the Cortex-A72 still runs AArch32, so a port to the Pi4 is at least theoretically possible. However, quite a lot has changed (USB3 etc.) so it may take a while even if there are no other roadblocks. Anyway, I’ll be ordering a Pi4 just as soon as I finish writing this note… |
Jeffrey Lee (213) 6048 posts |
Yes. There’s a good chance that ROOL have already done some of this work, but we won’t know for sure until they make an announcement or make the code public. Also there doesn’t appear to be a publicly released manual for the new chip yet, so if there are things that ROOL haven’t done, there might not be much we can do about it. Watch this space! |
Ben Avison (25) 445 posts |
Congratulations to Rick for deducing that. I may have acidentally published stuff ahead of the embargo being lifted, but only for about 30 seconds. I reckoned it was better to hide the one component until I’d cleared up the mess than to disable the whole site, but that apparently wasn’t enough :-) Here is the current status – I’m afraid it’s not ready for general use yet.
Tell me about it… |
Rick Murray (539) 13905 posts |
Might I suggest you consider hosting bcm2711-rpi-4-b.dtb just in case people don’t have a Raspian install. |
Jeffrey Lee (213) 6048 posts |
The Pi firmware github repo has been updated now, so you can grab it from there. https://github.com/raspberrypi/firmware/blob/master/boot/bcm2711-rpi-4-b.dtb |
Rick Murray (539) 13905 posts |
Just to throw a question “out there”, given how RISC OS handles memory allocations, are there likely to be any issues with a 4GiB model? |
Rick Murray (539) 13905 posts |
It may be that this is the end of the line for RISC OS the Pi models, but that’s not really a bad thing. We have the option of 1/2/4GiB memory, 1.5GHz quad core, USB3, proper Ethernet (not piggybacked on USB), onboard WiFi (dual band) and Bluetooth, dual display (4K, 60Hz, onboard HEVC decoding), finally USB C so one can pump a decent amount of juice into the thing… So don’t sweat it if the Pi 5 is 64 bit only. The Pi 4 is… bloody amazing. |
Rick Murray (539) 13905 posts |
I’m going to give it a while (iron out the wrinkles, RISC OS support) and… Yeah… I’m tempted. I’m not entirely sure why (my ARMv7 Pi2 is plenty adequate) but… I guess this is like the geek version of a bag of Maltesers. ;-) Jeffery, please keep me up to date on your progress with getting other machines doing stuff over a network. I have older Pi hardware and, well, there’s an opportunity there. I’m wondering about taking the server off the desktop Pi and running it on a headless machine plugged into the mini hub. Then it can just sit and do what needs done. 1 I must make it smarter so that it can detect complaints about unsaved data and choose to discard the data (it’s usually an open TaskWindow). If the power is going off, data is going to be lost if unsaved, so it’s always better to get the machine into a state where it can be safely powered down. |
Stuart Painting (5389) 718 posts |
IIRC, the last time this question was asked the answer was that only the first 2GB are likely to be usable in any realistic timeframe. This was due to some functions still using the topmost bit of the address space as a flag of some sort. (EDIT: Found it ) I’ve ordered a 2GB Pi4 in the hope that I’ll be able to use all of the RAM for something, at least… :-) |
Clive Semmens (2335) 3276 posts |
Exactly. |
John Sandgrounder (1650) 574 posts |
I still find that Pi 2 is ample for RISC OS. But I have just ordered a 2GB Pi 4. |
Steffen Huber (91) 1963 posts |
As this is a new Cortex implementation (and the latest ARMv8 we’ll likely ever get), it would be really useful (at least to me) to have an early version of RISC OS running on that machine, even if e.g. networking is not working yet. Just for software compatibility tests. I fear another CDVDBurn ARMv8 incident… |
Jeffrey Lee (213) 6048 posts |
That’s not exactly the problem. RISC OS is currently limited to a 4GB physical address space. This is the main source of problems, because the typical way of producing machines with > 2GB of RAM is to place some of the memory above the 4GB boundary. E.g. with the 4GB version of the IGEPv5, there’s 2GB of RAM below the 4GB boundary, and 2GB above the boundary. This means that RISC OS is only able to use the lower 2GB of RAM (we’re also currently ignoring the last few MB of that, because of some address wrap-around bugs which are/were present). Removing the 4GB barrier is possible by implementing support for LPAE (“Large Physical Address Extension”) – which isn’t a massive amount of work (compared to e.g. some of the current bounties), but isn’t without a few headaches. So far nobody’s come up with a compelling reason to need that much RAM under RISC OS, so apart from occasionally nudging the code in the right direction, I haven’t devoted any time towards it. For the Pi 4, I get the feeling that they’ve crammed all the memory into the existing 4GB ARM physical address space. So we shouldn’t need to implement LPAE in order to use the “full” 4GB, but in reality we won’t get to use 4GB anyway because ~32MB of it will be being used for accessing the other bits of hardware in the chip (similar to the 1GB Pi models, where 16MB of what should be RAM is actually used for peripheral access). But in reality this doesn’t affect things too much since the RAM which we can’t use gets used by the GPU for running its OS (the GPU and CPU have different physical memory maps, so even though we can’t see the missing memory, the GPU can). There are problems with the way RISC OS manages its logical memory map (like the FileCore issue you linked to), but these will generally only become problems if there are lots of dynamic areas active, or if we decide to increase the maximum wimpslot size (since that will cause all the dynamic areas to get bumped up). IIRC there have been occasional requests for a larger wimpslot, so maybe that’ll come sooner rather than later. It can also easily be tied to a CMOS setting, so people who don’t need the extra space won’t have to worry about issues like FileCore storing flags in pointers. Although in the case of FileCore, I’d hope that the C rewrite that we’re getting as part of the partitions bounty will clean up those issues. Historically there was also the problem that the free pool was mapped into logical address space (culminating in machines with 2GB of RAM often running out of logical address space when trying to create dynamic areas) – that would have definitely been a blocker to supporting more than 2GB. |
Rick Murray (539) 13905 posts |
Let’s ask a different question. Will RISC OS be able to work on a 4GiB Pi (even if it ignores half the memory), or should one prefer the 2GiB model? |
Jon Abbott (1421) 2652 posts |
Putting aside the missing documentation and subsequent lack of hardware support, there’s possibly going to be some instruction differences given the issues moving to Pi2 and Pi3. It’s not too different to the Pi3, so they’re probably going to be edge cases. There’s possibly an errata to deal with, 859971 Speculative instruction prefetch to Execute-never (XN) memory could cause deadlock or data integrity – might come into play depending on the device memory map. |
Rick Murray (539) 13905 posts |
Hmm, I wonder if that’s related to the recent “issues” that somehow didn’t manage to flatten Intel? I’m home now so I’ve been doing some research.
|
Rick Murray (539) 13905 posts |
I wonder if the GPU is still capable of scaling any arbitrary mode to fit a specific resolution? That’s one of the best things about the Pi – it has been told that my display is 1280×1024/60Hz and it outputs exactly that. Nothing more, nothing less. Whatever RISC OS tells it to use (320×240 to FHD), the result is always a reliable 1280×1024, with the mode in use being scaled to fit. By comparison, my HDMI to VGA adaptor hates the Beagle. Getting anything at all out of it proved to be a challenge. My HDMI LCD fares better, but with 480×320 it’s a little cramped. ;-) https://heyrick.eu/blog/index.php?diary=20180406 |
Jeffrey Lee (213) 6048 posts |
ARMv8 attempts to define exactly what behaviour “unpredictable” instructions should exhibit, so I’d expect the A72 be be broadly the same as the A53 in terms of fussyness.
Almost certainly yes.
That should be OK – the errata relates to the logical mapping of the memory, not the physical arrangement. RISC OS keeps tight reigns on how IO memory is mapped, so it can easily add padding inbetween pages if necessary.
Only if they release a board which exposes that PCIe bus. A good option for the compute module, but probably not going to appear on any regular Pi model.
Citation needed.
Almost certainly yes. |
Rick Murray (539) 13905 posts |
Which would make them….. Predictable. :-)
Is there a reason for this, like a future plan to recycle bits as different meanings? I’m just wondering how much extra silicon is being used to spot dumb things and reject them. After all, isn’t the overwhelming majority of code these days emitted by compiler?
Great. If I was going to get a Pi4 (later!), then it’d make sense to get the most memory – Linux would appreciate it even if RISC OS would sit with about 3.8GiB unused.
I was thinking more about other PCIe devices onboard. Imagine a Pi4+ with something like a Marvell 88SE14xx.
It was something posted on CNX. Supposing that if the ARM booted itself from the SPI flash… but forgetting what got the machine to that state and provided the “recovery.bin” mechanism. :-) |
Jeffrey Lee (213) 6048 posts |
I’d imagine it’s mainly down to security. Knowing that none of your unpredictable/illegal instructions can be used for privilege escalation or can leak sensitive information is very useful.
Yeah. Since it’s an evolution of the earlier GPU, and supports the same mailbox interface for communicating with the ARM, I’m almost certain that all they’ve done is shuffle around some bits of the boot code so that they’re stored in different locations/media. For the Pi 3 the hardwired boot ROM had to cope with SD, USB & ethernet booting, which proved to be troublesome when bugs were discovered. Moving most of that code to the SPI flash (so the hard boot ROM only has to deal with recovery.bin and the SPI flash) makes things much better. |
John Sandgrounder (1650) 574 posts |
What to do with it now? I look forward to something (anything?) which will at least attempt to start up. |
David Pitt (3386) 1248 posts |
I have got as far as discovering the I know this is nowhere near ready for use but I did think there might be signs of the RISC OS ROM attempting to start.
|
Sprow (202) 1161 posts |
The latest beta ROM wont help you. At the moment only the harmless/common changes for Pi 4 have been integrated (which are skipped or do nothing on Pi 3 and earlier) into the nightly builds, but the list of mods is also needed, and by extension also needs a custom ROM for the work-in-progress HAL changes. I suggested to Ben hosting a suitable ROM somewhere (temporarily) so people can skip 4/5 of the steps. |
Steve Pampling (1551) 8196 posts |
There do seem to a number of keen experimenters who could form a nice alpha testing group for him. |
Pages: 1 2 3 4 5 6 7 8 9 10 11 ... 26