Originally posted by tuxd3v
View Post
Announcement
Collapse
No announcement yet.
The Arm SoC/Platform Changes Finally Sent In For Linux 5.3: Jetson Nano, New SoCs
Collapse
X
-
-
Originally posted by schmidtbag View PostRemember, the problem at hand is there's no such thing as a fully generic and fully functional ARMv8 image that will work cross-platform with any device you put it in. Stuff like DTB or custom UEFIs don't fix that.
Originally posted by schmidtbag View PostI don't think ARM ever predicted their CPUs were going to be used in this way. They were originally for embedded devices, really crappy phones, and routers.
But with armv7, or armv8, they should have addressed a lot of standard problems, that are still a plague today..
Everybody tough that because ARM will license cores,
It will be a common standard there, something "wonderful",
The problem is that there are now, a zillion standards there( one per CPU vendor, and one per board..sometimes more, depending on the board revision..),
Or resuming it, no standard at all..
Leave a comment:
-
Originally posted by tuxd3v View Post
Yes they exist in part, but for the Server market and its, lets say, "a new thing"..
They should be applied to all devices..that's the problem..
- Likes 1
Leave a comment:
-
Originally posted by starshipeleven View PostAs I said " in most SoCs the initialization phase is 99% dealt with by a bootROM which is integrated in the SoC itself and can already initialize the system and load a payload".
That's the "tedious device-specific tweaking" part of the x86 BIOS firmware, which you don't need to do on ARM because it's done already by a firmware stored in an integrated ROM memory inside the SoC itself.
Wrong, a BIOS is doing board initialization, then loading an OS and passing it the information about the hardware. End of its job. It's not running anymore after the OS is loaded, it's not an "interface".
on x86 this "passing the information about the hardware" is called ACPI tables, and you can have anything, even u-boot do it as it's just exposing a static binary in a standard location during boot.
Anyway, to my understanding, only ARMv8 servers seem to have "built-in" ACPI support. That's what we want to see in stuff like phones and developer boards in order to make it easier for home users any hobbyists to get into ARM.
This dtb can either be embedded in the bootloader, or selected on boot by the kernel if the bootloader provides the name of it. Of course this does not work with Windows but it's MUCH easier to make than ACPI.
Remember, the problem at hand is there's no such thing as a fully generic and fully functional ARMv8 image that will work cross-platform with any device you put it in. Stuff like DTB or custom UEFIs don't fix that. This is also why we still don't really see anyone offering a typical installer that we so commonly use on x86. Again, ARM servers are the only exception here.
Originally posted by tuxd3v View PostIT needs to be addressed, by both teams HardWare/Software..
In my point of view, ARM should have addressed that problem from the beginning..Last edited by schmidtbag; 20 July 2019, 05:29 PM.
- Likes 2
Leave a comment:
-
Originally posted by starshipeleven View PostAs I said " in most SoCs the initialization phase is 99% dealt with by a bootROM which is integrated in the SoC itself and can already initialize the system and load a payload".
At Least some ROM bootloaders, are only used to load a U-Boot( or other ) payload, that assumes control from there on..
Leave a comment:
-
Originally posted by schmidtbag View PostTo my knowledge, both of the problems you mentioned are because there's no BIOS chip. That means this is a hardware issue. Your complaints are valid, but if you're expecting software developers to address these problems, it ain't gonna happen.
There are always a thing that acts like a bios, and that firmware is loaded first, simply it is loaded from the sdcard/SPI flash/etc.. but it acts like if it was a bios..
Its one of the major concerns and damage ARM Hardware credibility,
In my point of view, ARM should have addressed that problem from the beginning..
Leave a comment:
-
Originally posted by Space Heater View Post
Standards already exist[1][2] that accomplish this, but so far it has primarily been ARM server vendors that think they are important enough to implement. ARM itself doesn't seem to be able to enforce this as they just sell the core IP and do not require a specific SoC implementation standard.
[1] SBSA - Server Base System Architecture
[2] SBBR - Server Base Boot Requirements
They should be applied to all devices..that's the problem..
Leave a comment:
-
Originally posted by schmidtbag View PostUh... yes? Do you seriously not understand what I'm getting at here? Sure, the BIOS is mostly just software, but it's not software that open-source developers are (or should be) responsible for.
That's the "tedious device-specific tweaking" part of the x86 BIOS firmware, which you don't need to do on ARM because it's done already by a firmware stored in an integrated ROM memory inside the SoC itself.
The board is in "CPU + RAM + storage initialized" phase when it hands over control over a bootloader stored in the storage, which means your code does not need to do much beyond loading an OS.
The purpose of the BIOS is to act like a medium between the mainboard and the kernel.
on x86 this "passing the information about the hardware" is called ACPI tables, and you can have anything, even u-boot do it as it's just exposing a static binary in a standard location during boot.
On Linux there is also a thing called dtb (device tree) that does the same job the ACPI does but it's less prone to issues, and in embedded you usually define that.
This dtb can either be embedded in the bootloader, or selected on boot by the kernel if the bootloader provides the name of it. Of course this does not work with Windows but it's MUCH easier to make than ACPI.
Most projects, like Armbian and OpenWrt and things from Linaro already ship generic kernels with a dtb wherever possible.
OpenSUSE is also working on the same front https://www.suse.com/media/article/U...f%20U-Boot.pdf
Last edited by starshipeleven; 20 July 2019, 04:32 PM.
Leave a comment:
-
Originally posted by starshipeleven View PostAre you aware that the "bios chip" is just a SPI NOR flash chip containing a firmware?
I really don't see how it's realistic to modify existing software to allow existing ARM devices to just simply "work" on a generic kernel. Without a BIOS or something similar, we're just going to have to deal with custom kernels if we want full hardware support.
You can just place the UEFI firmware image at the beginning of the storage device you also place your OS on, this is DEFINITELY just a software thing.
Leave a comment:
-
Originally posted by schmidtbag View PostTo my knowledge, both of the problems you mentioned are because there's no BIOS chip. That means this is a hardware issue. Your complaints are valid, but if you're expecting software developers to address these problems, it ain't gonna happen.
Are you also aware that in most SoCs the initialization phase is 99% dealt with by a bootROM which is integrated in the SoC itself and can already initialize the system and load a payload (usually a bootloader to boot an OS) from any available storage medium connected?
You can just place the UEFI firmware image at the beginning of the storage device you also place your OS on, this is DEFINITELY just a software thing.
- Likes 2
Leave a comment:
Leave a comment: