News for hackers. Stuff that matters.
Re:LibreRPi – open source replacements for RPi firmware by ggm on Thursday September 15, 2022 @03:50AM (#32848592)
A probably naieve question. If the VPU can be used as the bootstrap loader for the CPU, much as a PDP11 on the door of the Vax 11/780 acted as bootstrap loader for the Vax, can we not simply replace all the complex VPU resident functions with 'just run on the CPU' and then resolve the external device bindings in normal CPU code?

Maybe I misread it, but it read like the VPU does more than the tiny necessary bootstrap to find an image, and chain load it. It reads like it has to do some timing critical initialisations of subsystems, but I cannot but think a CPU should be able to do this for itself, once it has some run state with a kernel in memory.

It's as if the VPU has to make the other bits of blobby hardware be alive, for the CPU to be able to see them. Most odd.

Oftentimes there are magic bits of this to do with ring states, and priviledge to alter ring at runtime. Maybe this is part of the story: the VPU initialises a specific ring state and some outer higher trust ring MUST be pre-initialised for the CPU ring state to be allowed to talk to it: it would violate the ring model, if the CPU did it.

Re:LibreRPi – open source replacements for RPi firmware by nerdponx on Thursday September 15, 2022 @05:08AM (#32849138)
Fun fact, the "ï" in "naïve" is not an umlaut, but a totally different use of the same notation called a diaresis! It's meant to inform the reader that the "a" and "i" are pronounced separately, rather than being combined into a single vowel sound. It's a bit old-fashioned in English, but you sometimes will see it in older texts on words like "coöperation". So "naieve" is not a valid spelling of "naïve" (but that's okay because English spelling has historically been a mess and everyone knew what you meant). https://en.m.wikipedia.org/wiki/Diaeresis_(diacritic)
Re:LibreRPi – open source replacements for RPi firmware by lofatdairy on Thursday September 15, 2022 @09:32AM (#32851667)
>It's a bit old-fashioned in English, but you sometimes will see it in older texts on words like "coöperation".

You don't even need to search for older texts! The New Yorker actually uses the diaresis in their print edition. It's certainly a bit anachronistic, but I do think English spelling can be a bit obtuse to say the least, so the orthographic hint can sometimes be useful.

https://www.newyorker.com/culture/culture-desk/the-curse-of-...

https://www.arrantpedantry.com/2020/03/24/umlauts-diaereses-...

Re:LibreRPi – open source replacements for RPi firmware by acadapter on Thursday September 15, 2022 @06:21AM (#32849672)
How coöperative of you to help out with spreading the knowledge
Re:LibreRPi – open source replacements for RPi firmware by TacticalCoder on Thursday September 15, 2022 @09:21AM (#32851516)
Fun fact: since a relatively recent reform the position of the diaeresis (in french: "tréma") kinda changed (at least for quite a few words). For example in the word "aigue", the diacritic sign can be put either on the 'e' (as used to be the case previously) or the 'u' (which is now recommended but not mandatory: you can still put it on the 'e' instead). So both "aigüe" and "aiguë" are correct AFAICT.

Although I'm a native french speaker TIL, thanks to you, that it's role was to inform that the letters are to be pronounced separately.

Re:LibreRPi – open source replacements for RPi firmware by BrandoElFollito on Thursday September 15, 2022 @09:23AM (#32851542)
TIL that "coöperation" is an actual word.

The diaeresis is very important in French (we call it tréma). Without this the word naïve instead of "na-iv" would sound "nev". The first name Loïc instead of "lo-ik" would be "looak" (it is even hard to say it loud for me). And many others.

Fortunately we still have the word for waters which is eaux and that we pronounce "o"

Re:LibreRPi – open source replacements for RPi firmware by wongarsu on Thursday September 15, 2022 @10:56AM (#32852964)
It's important in French because French tries very hard to have a consistent mapping between spelling and pronunciation. When you read a word you don't know, the spelling tells you how to pronounce it. English seems to have largely given up on this concept.
Re:LibreRPi – open source replacements for RPi firmware by BrandoElFollito on Thursday September 15, 2022 @11:18AM (#32853340)
Your comment got me thinking, this concept is not obvious for a native French speaker.

So we have several words that are pronounced "unexpectedly" (What You Read Is Not What You Pronounce). An example would be the name if the physicist Louis de Broglie, pronounced [dəbʁɔj]. OK, that's a family name so there is some history behind.

Then we have words that different people pronounce differently: ananas (pineapple) - some pronounce the "s", some do not. Or the village Avoriaz, same but for the "z". Or Chamonix.

But now that I think about this, what you are saying is indeed a thing. My wife's primary languages do not include French and she did not have, I think, major issues when choosing a pronunciation (she had Himalayas of other problems, though).

Re:LibreRPi – open source replacements for RPi firmware by toast0 on Thursday September 15, 2022 @03:55PM (#32857650)
> Then we have words that different people pronounce differently: ananas (pineapple) - some pronounce the "s", some do not. Or the village Avoriaz, same but for the "z". Or Chamonix.

As someone who is only fluent in English but tried to study French for a couple weeks before visting Paris many years ago... Spoken French has institutionalized mumbling; what I read is you're supposed to form the final consonants of words with your mouth, but not voice them... Which ends up in practice with the consonants being pretty much voiced if the next word starts with a vowel and not if not... But I'm not surprised there's some variance.

The best written reference I could find (which sadly, I can't find again) was from a Hong Kong university where the writers seemed to have learned both English and French analytically rather than natively, so they would explain the rule for French and compare with the rule(s) for English and expose me to the rules I unconciously followed without knowing they existed.

Studying written and spoken French simultaneously was pretty helpful for me, otherwise it was too hard to fill in the ending letters of many words as needed.

Re:LibreRPi – open source replacements for RPi firmware by nerdponx on Thursday September 15, 2022 @06:32PM (#32859283)
Interestingly, all of the Romance languages exhibited consonant-dropping in their development. In Spanish and Italian for example, the Latin ending -us became -o. And even as far back as classical Latin, it is believed that the "m" at the end of a word was often nasalized. Apparently this hasn't been a thing for millennia.
Re:LibreRPi – open source replacements for RPi firmware by occamrazor on Thursday September 15, 2022 @05:10PM (#32858505)
There are other examples that are much worse for French learners! In _fils_ (son) the _l_ is mute, but the _s_ is pronounced. In _août_ (August), tha _a_ is mute. In _tous_ (all, plural) the _s_ can be mute or not, depending on the sentence. And in _oeuf_ (egg) the f is pronounced, but in the plural _oeufs_ it isn't! A special mention to _Monsieur_ (Mister), which is pronounced as if it was written _Messieur_.
Re:LibreRPi – open source replacements for RPi firmware by Koshkin on Thursday September 15, 2022 @07:01AM (#32849944)
> diaresis

It’s diaeresis. (Not sure if ‘ae’ can be replaced by the umlaut here.)

Re:LibreRPi – open source replacements for RPi firmware by fnord123 on Thursday September 15, 2022 @08:23AM (#32850669)
It's not ä but æ like in encyclopædia and archæology. British English generally simplified to ae. American English generally simplified to e. Wikipedia page has more info: https://en.wikipedia.org/wiki/%C3%86

If diaeresis is too hard a word to deal with, we can just call it trema.

Re:LibreRPi – open source replacements for RPi firmware by 867-5309 on Thursday September 15, 2022 @07:11AM (#32850017)
in British English. the former perhaps intended the variant (or American) dieresis

still, neither are diuresis, which nobody wants

Re:LibreRPi – open source replacements for RPi firmware by lifeisstillgood on Thursday September 15, 2022 @07:31AM (#32850176)
Just as there was a "slashdot effect", I think we should apply for an "HN Tangent" - the effects being something like whiplash to the brain as the discussion veers off in directions undreamt of.

Thank you for enlightening me.

Re:LibreRPi – open source replacements for RPi firmware by tomcam on Thursday September 15, 2022 @05:33AM (#32849307)
I just had diaresis. Painful at my age.
Re:LibreRPi – open source replacements for RPi firmware by Inhibit on Thursday September 15, 2022 @08:35AM (#32850837)
More fiber and less umlauts for breakfast 'll fix that.
Re:LibreRPi – open source replacements for RPi firmware by benj111 on Thursday September 15, 2022 @09:00AM (#32851221)
An Oxford comma a day keeps the diaresis at bay.
Re:LibreRPi – open source replacements for RPi firmware by tomcam on Thursday September 15, 2022 @02:34PM (#32856445)
Lol thanks, whippersnappers. I’ll try these totally legit treatments for my totally legit disorder
Re:LibreRPi – open source replacements for RPi firmware by boredemployee on Thursday September 15, 2022 @05:49AM (#32849420)
You should check your vitamin D levels
Re:LibreRPi – open source replacements for RPi firmware by tomcam on Thursday September 15, 2022 @02:34PM (#32856463)
Username checks out gloriously for assisting with my drastic medical condition
Re:LibreRPi – open source replacements for RPi firmware by boredemployee on Thursday September 15, 2022 @06:01PM (#32859017)
lol we should unite
Re:LibreRPi – open source replacements for RPi firmware by mytailorisrich on Thursday September 15, 2022 @09:13AM (#32851399)
Well, it's especially because it's a French word.
Re:LibreRPi – open source replacements for RPi firmware by l8rlump on Friday September 16, 2022 @01:54AM (#32862582)
In my dictionary (Collins Cobuild), it’s spelled “naive”. But yeah, who wants to use an English word when you can use a French one.
Re:LibreRPi – open source replacements for RPi firmware by Karsteski on Thursday September 15, 2022 @09:09AM (#32851330)
This is a surprisingly fun fact
Re:LibreRPi – open source replacements for RPi firmware by numeromancer on Thursday September 15, 2022 @12:50PM (#32854819)
I refuse to co-operate with those who use diaresis to separate vowels.
Re:LibreRPi – open source replacements for RPi firmware by LoganDark on Saturday September 17, 2022 @04:16AM (#32875724)
I've never seen naive with a diaresis, but now I'm curious if anyone unironically uses "na-ive"
Re:LibreRPi – open source replacements for RPi firmware by pjc50 on Thursday September 15, 2022 @04:37AM (#32848963)
I'm not aware of the specific details, but one of the usual critical things is clock and PLL configuration. It looks like the PLLs that generate all the internal clock frequencies, including the 48MHz for USB, are connected to the VPU. It may be the case that relevant hardware simply isn't connected to the ARM.

(From Broadcom's point of view, the VPU is the "real" computer with all the processing power, and the ARM is tacked on the side)

Re:LibreRPi – open source replacements for RPi firmware by ggm on Thursday September 15, 2022 @04:40AM (#32848976)
This is so true, and so amusing. It almost makes me wonder if the microinstructions of the VPU could be where we run.. and use this ARM chip to do things like AES offload!

Thanks for a very useful observation. Clocking is fundamental to a lot of things, buses like the clock to be done right so I can believe booting requires good clocking and some bus initialisation.

Re:LibreRPi – open source replacements for RPi firmware by pjc50 on Thursday September 15, 2022 @07:46AM (#32850307)
Turns out there is some pretty good architecture documentation: https://docs.broadcom.com/doc/12358545 .. but that only describes the 3D capabilities, not the whole register map.
Re:LibreRPi – open source replacements for RPi firmware by monocasa on Thursday September 15, 2022 @12:50PM (#32854824)
That doesn't really cover the processor under discussion here, only the shader cores called the QPUs.

This work and the processor under discussion is another core called the VPU that unfortunately gets confused because with the default firmware it runs the majority of the OpenGL driver stack, controlling the QPUs.

Re:LibreRPi – open source replacements for RPi firmware by q-big on Thursday September 15, 2022 @08:08AM (#32850506)
> Turns out there is some pretty good architecture documentation: https://docs.broadcom.com/doc/12358545 .. but that only describes the 3D capabilities, not the whole register map.

This documentation is for the VideoCore IV. The BCM2711 SOC that is used in the Raspberry Pi 4 has a VideoCore VI.

Re:LibreRPi – open source replacements for RPi firmware by cleverca22 on Thursday September 15, 2022 @05:35AM (#32849322)
some peripherals like the dram controller are rigged up so the arm can never control them

others like the 2d core default to the same mode, but can be re-configured to allow the arm to control it

there may be more peripherals that behave the same way, and require code on the VPU to help out

and like others said, changing the arm freq, from the arm core, could be dangerous, it may just lock up, because it turned its own clock off

Re:LibreRPi – open source replacements for RPi firmware by mburee on Thursday September 15, 2022 @03:55AM (#32848632)
https://github.com/librerpi/rpi-open-firmware

The paragraph 'Does it boot Linux' should answer your questions

Re:LibreRPi – open source replacements for RPi firmware by ggm on Thursday September 15, 2022 @04:23AM (#32848855)
Well no. It says:

  Yes, with some conditions. You can boot a very minimal version of Linux without the firmware and get it to work with UART and eMMC. Support for USB, DMA, and Ethernet are in the works, which will be sufficient for certain headless systems. Still, many other peripherals require bringup, such as video. Additionally, drivers for power management need to written.
So it isn't clear if this is code in the kernel, or code blobs still to be run in the VPU, and why.

"drivers" could refer to linux kernel, or the drivers as blob downloads, or VPU initialization.

Re:LibreRPi – open source replacements for RPi firmware by pabs3 on Thursday September 15, 2022 @05:17AM (#32849195)
This is separate code (a fork of the Little Kernel project) that runs on the VPU and loads later stages of the boot process, including initialising the ARM core and running the Linux kernel on it.

https://github.com/librerpi/lk-overlay

Edit: The rpi-firmware repo has been replaced by the lk-overlay repo, which is much more flexible.

Re:LibreRPi – open source replacements for RPi firmware by xani_ on Thursday September 15, 2022 @05:10PM (#32858494)
IIRC it was just architecture quirk of those chips as initally they were designed as basically fancy accelerators to be used with already existing systems

> VideoCore chips can run complete applications - they are not simply video DSP chips that require a separate processor to supply and collect data. In practice though, they are often used like simple accelerators, as companies usually prefer to cautiously assimilate new technology rather than take a big risk in porting a large amount of application code from an existing ARM-based design.

For example one of earlier ones was used as GPU for Nokia N8