Announcement

Collapse
No announcement yet.

Corellium Posts Very Early Linux Port To Apple M1 Macs

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • azdaha
    replied
    Originally posted by CommunityMember View Post

    Actually, they do make a profit on their hardware, if you compare what the equivalent sales price is of competitive offerings (at least when they were running x86 where it was easy to compare the BoM prices). The walled garden (only Apple hardware can officially run MacOS (yes, we all know about hackintoshes)) is a way to make sure you pay that premium if you wanted/needed to run MacOS.
    Yeah, lots of profit from over-priced hardware (vs. production cost). Profits from the "walled garden" became more prominent after they started creating their own services; think, when they came out with apple maps.

    Leave a comment:


  • Ladis
    replied
    It is a standard ARM instruction set. You don't care what is behind it (like you don't care about the black box behind x86 interface in Intel and AMD CPUs - unless you want low level optimizations). About the different BIOS, this is offen worked around by running a virtual machine, where you implement the required BIOS in your software and forward the CPU instructions to the real HW (means OS code and apps code run native). What's important is M1 loads the firmware blobs for all the chips (e.g. iGPU) before loading any OS (as I read somewhere). With that, most of the work will be the iGPU driver - but the iGPU itself will run fine, because the firmware is loaded (unlike NV GPUs where you miss e.g. reclocking). For many people even the first level of running the iGPU as a simple framebuffer video will be enough (at least at the beginning).

    Originally posted by amxfonseca View Post

    ARM architecture is bi-endian. And as far as I know, most of modern operative systems run it on little-endian mode, including iOS. So I don’t think there’s any special endieaness conversion that need to be done for the M1 to run x86_64 code.
    M1 has a special switch to turn off the reordering of the load-store memory instructions. That simulates the strong memory model of x86. On a generic ARM (e.g. Windows 10 on ARM devices), you have to put a lot of memory barriers around parts of the code.

    Leave a comment:


  • baryluk
    replied
    Originally posted by milkylainen View Post

    My thoughts too. Like pretty standard ARMv8.6-A, probably UEFI and ACPI?
    It is not standard.

    Not UEFI. No standard device tree format. No ACPI. No GIC. No SBST. A lot of custom silicon. Custom watchdog, custom interrupt controller, and few more.

    Some stuff are standard, but not implemented in Linux for arm64. I.e. For example FIQ interrupt handlers. And many other quirks.

    So, it is not trivial. Apparently not impossible and not too hard, but not trivial either. A month ago, nobody (including devs involved) knew if it will take a week or a year to make it work.

    Leave a comment:


  • amxfonseca
    replied
    The basic M1 (excluding the GPU) is a fairly standard ARM64 core with mapping to manage power better and custom extensions including those needed to run x86_64 little endian instructions without having to do software flipping.
    ARM architecture is bi-endian. And as far as I know, most of modern operative systems run it on little-endian mode, including iOS. So I don’t think there’s any special endieaness conversion that need to be done for the M1 to run x86_64 code.

    Leave a comment:


  • WorBlux
    replied
    Originally posted by CommunityMember View Post

    Actually, they do make a profit on their hardware, if you compare what the equivalent sales price is of competitive offerings (at least when they were running x86 where it was easy to compare the BoM prices). The walled garden (only Apple hardware can officially run MacOS (yes, we all know about hackintoshes)) is a way to make sure you pay that premium if you wanted/needed to run MacOS.
    Compared against other business class devices in the same physical from factor? Not really a huge difference even before considering screen quality. They certainly aren't losing money there it doesn't seem to be their main strategy.

    Leave a comment:


  • milkylainen
    replied
    Originally posted by stormcrow View Post
    I don't think it's really that surprising Corelium has done it. The basic M1 (excluding the GPU) is a fairly standard ARM64 core
    My thoughts too. Like pretty standard ARMv8.6-A, probably UEFI and ACPI?

    Leave a comment:


  • stormcrow
    replied
    I don't think it's really that surprising Corelium has done it. The basic M1 (excluding the GPU) is a fairly standard ARM64 core with mapping to manage power better and custom extensions including those needed to run x86_64 little endian instructions without having to do software flipping. That's my educated guess built on those people writing code specifically to run on the hardware reporting what they're finding.

    For example, here's an article talking about running ARM64 assembly language code on the M1: https://smist08.wordpress.com/2021/0...e-hello-world/

    Most of the porting effort is going to come from people reverse engineer the GPU component of the M1.

    Generic response to some of the above comments: hardware hackers don't care if you think their efforts are worthless or useless. They're going to do it anyway. Just shut up and get out of their way. Hackers work on projects because they personally find them interesting and report their results and code to like minded individuals. If you don't care, why are you bashing their work or even reading about it? No one is torturing your puppy to poke and prod an Apple M1 chip. Stop being a troll.

    Leave a comment:


  • aspen
    replied
    Originally posted by OneTimeShot View Post

    I note that you linked to Twitter, not to binaries. Any reason for that? Let's guess...
    Let me guess, you're some sort of troll. Had you bothered to check the twitter links, you would've found that the first one is the Corellium CTO linking to the binary. Their server is currently down (any connection to downloads.corellium.info times out), but since I doubt you're capable of clicking on a link anyways, let me copy-paste what the tweet says:

    Here is a very early beta of Linux on the m1 for *advanced users only*. https://downloads.corellium.info/linux.macho if you don't know how to run this then wait till tomorrow when the more complete release with USB, SMP is posted (with instructions).
    Last edited by aspen; 17 January 2021, 02:34 PM.

    Leave a comment:


  • CommunityMember
    replied
    Originally posted by WorBlux View Post
    They don't make money from their hardware, they make money from their walled garden
    Actually, they do make a profit on their hardware, if you compare what the equivalent sales price is of competitive offerings (at least when they were running x86 where it was easy to compare the BoM prices). The walled garden (only Apple hardware can officially run MacOS (yes, we all know about hackintoshes)) is a way to make sure you pay that premium if you wanted/needed to run MacOS.

    Leave a comment:


  • WorBlux
    replied
    And as far as coreboot goes... there are applications with cooperative vendors, and components tend to get re-used and iterated on, so it's rare that porting a board is completely useless down the line. And the devs aren't aiming for a "polished coreboot experience" on these boards. Many of these boards require soldering and an external flashing hardware. The end goal has always been to integrate with vendors. However on the M1, Apple is the only vendor, and they seem quite unlikely to want to integrate.

    Leave a comment:

Working...
X