HNHacker News
TopNewBestAskShowJobs

andreiw

289 karma · joined November 24, 2014

submissionscomments
andreiw··on ReactOS releases 0.4.8 with experimental Vista/7/10 software compatibility
So I'm a ReactOS fanboi, but... but...

- You need to fix your flaccid dev community. Your forums have a terrible S/N ratio. IRC may be great and all, but I don't see any hard documentation behind any design discussions or development. I do see crazy shite like "can I run ReactOS on Playstation 2". The forums make your project seem dead, which it clearly isn't.

- You need to fix your flaccid dev community. It needs a larger presence. It needs to be tangible (who is doing what? who are the people? do you have conferences?)

- You need to fix your flaccid dev community. There is a bunch of really useless, out-of-date, confusing and out-right self-inconsistent information on building ROS, and the Git move didn't help (but kudos on the move, it is long overdue). I've tried 4-5 times to do something, but the directions I followed on Win, Ros or Linux all ended up breaking somewhere.

- You need to fix your attitude problems (or your forums). There are people asking reasonable questions, who get actively or passively aggressive answers. Not good.

- You need to fix your toolchain problems. This whole SEH thing is getting out of hand. Does Clang support SEH yet? It might - https://clang.llvm.org/docs/MSVCCompatibility.html. So maybe you need to bail on GCC, or maintain your own fork of it (yes, it's ridiculous that GCC still doesn't have SEH support, and the patents have long expired).

- You need to get a grip on x64 support. Your toolchain problems cannot be a gate (and you can clearly use MSVC for building... so...). IA32 support is great and all, but needs a back seat to x64.

- You need to get a grip on UEFI booting (note UEFI booting does not /necessarily/ mean you need improved ACPI support, in practice)

- SMP?

- Forget Xbox, NewWorld PowerMacs (those were BE anyway) and 32-bit Arm chips (which outside of the Pi are too varied and too few). Targeting 64-bit Arm chips does make sense, though, now that Microsoft has released a client build of Win 10 on laptops and an Arm server vendor demoed Windows Server at OCP'18 (http://www.opencompute.org/assets/Uploads/18150J-Ampere-PPT-...). You will need UEFI and reasonable ACPI support to support ARM64. You can target SBSA and SBBR compliant systems and this will give support for the entire server ecosystem (and qemu VMs, har har).

- You might wish to minkernel-ize ROS as well, so you can boot without a GUI.

- You might wish to update Wiki (and build a list of links to relevant pages) for active subprojects.

andreiw··on ReactOS releases 0.4.8 with experimental Vista/7/10 software compatibility
Ugh. This website saved my ass trying to make HID devices work on top of the completely non-conforming Linaro DwUsbHostDxe driver (look at https://github.com/andreiw/RaspberryPiPkg/commits/master/Dri... for a laugh). I did end up having to hit the USB spec in the end, but it's a legit resource to get a birds-eye view of the whole USB1 and USB2 thing. It doesn't make USB simpler, but sure makes it more approachable.
andreiw··on ReactOS releases 0.4.8 with experimental Vista/7/10 software compatibility
I bet in 20 years no one will know what ReactJS even is, but ReactOS very much will preserve NT regardless of Microsoft’s successes.

ReactOS is a usable Windows NT 6+ clone, with kernel ABI ( driver ) compat, that runs real software. What are you comparing it to, to be able to qualify the speed of its development?

andreiw··on Apple Plans to Use Its Own Chips in Macs from 2020, Replacing Intel
I see an article that is not congruent with actual tech facts. They can warn all they want, because the precedent says otherwise. Even if you wanted to make the argument that Intel is against emulation on non-x86 systems, that’s not true - see Virtual PC for Mac, FX!32, qemu, bochs and countless 8086 emulators to run VGA ROMs on various legacy free systems (either in OS or firmware). If you wanted to make the case that efficient emulation on non-x86 is is disallowed, well, FX!32, qemu and Virtual PC all used and use JIT.

Intel’s position amounts to cage rattling and vague insinuations that efficient execution of x86 code is impossible without hardware support. That’s nice, and their ham-fisted approach already hurt customer choice in the past (Transmeta and nVidia Denver, before the later implemented the Arm ISA) but the Windows on Arm solution is completely software and not coupled to any specific Arm chip implementation.

andreiw··on Apple Plans to Use Its Own Chips in Macs from 2020, Replacing Intel
lol wut? VMware Workstation, Connectix/MS VirtualPC, Oracle VirtualBox, qemu, bochs...what Intel-licensed hardware or software?

How about FX!32 or it’s latest AArch64 cousin seen on Windows 10?

Of the above, qemu can target x86 and run on anything, Virtual PC ran originally on PowerPC, and FX!32 ran on the Alpha

andreiw··on Aarch64 support added
NetBSD peeps: if you want to play with UEFI and PSCI support, check out https://github.com/andreiw/RaspberryPiPkg

This is a 64-bit UEFI firmware for RPi3 that uses ATF for PSCI, and has USB, HDMI and SD card support. It has been successfully booting FreeBSD, SUSE Leap 42.3 and Ubuntu 18.04.

andreiw··on Linux virtualization on Fuchsia
neat, arm64 and x64 hypervisor in Fuchsia??
andreiw··on Show HN: Minimal native MP3 player for Mac
Nice. Looking at this takes me back to 2000s, and leaves me thinking we’ve taken a wrong turn somewhere. Software should be simple - and that means that it should do one thing and do it well, not be stunted for “aesthetic” or other reasons...

In case you don’t, please support gapless playback. It’s an obvious feature for concerts and live performances, and a lot of software (e.g. whatever Ubuntu uses) doesn’t handle it at all.

andreiw··on Crankshaft – A GNU/Linux for the Raspberry Pi as an Android Auto headunit
Cool.

I always wanted to go the other way - being able to cast video into my head unit, like a phone. I read that MirrorLink is inherently VNC and USB networking. Does anyone have a MirrorLink «server» stack that can run on a board with OTG?

andreiw··on Thunderbolt 3 Unblocker
IOMMU? You still get to lock down access per device...or the Mac laptops don’t have an IOMMU?
andreiw··on HiFive – RISC-V-based Linux development board
Virtualization?

UART?

andreiw··on Microsoft disables Spectre mitigations as Intel’s patches cause instability
ARM already did.

https://developer.arm.com/support/security-update

The Meltdown/Spectre class of attacks affect certain CPUs. Spectre is a microarchitectural attack on any CPU that does speculation and uses data caches, regardless of architecture.

Arguably, it has been handling Meltdown and Spectre in a much much more humble and transparent way. See https://developer.arm.com/support/security-update/compiler-s... for work they are doing with the compiler communities to address the Variant 1 both on current and future chips.

andreiw··on Long-Term Consequences of Spectre and Its Mitigations
That’s assuming the only thing you want to prevent is speculative bounds overrun. Even with masking, you can still leak the secret in the array from the path not taken? Do you see evidence of gcc or clang gravitating to the MS approach?

In many ways, spectre is one more kind of attack on code that doesn’t properly separate validating untrusted input from acting on that input, except unlike overruns and TOCTOU races, this is microarchitectural.

andreiw··on Long-Term Consequences of Spectre and Its Mitigations
One thing curiously missing from this article is ARM’s laudable in-depth analysis - https://developer.arm.com/support/security-update, and their efforts (https://developer.arm.com/support/security-update/compiler-s...) to bring in architecture-neutral compiler intrinsics to address variant 1.
andreiw··on The Refuseniks
Nice story, but the USSR has been gone for more than twenty years. What value does this add to HN’s audience, beyond stoking more russophobe hysteria? There are plenty of other awful things that could be covered - ranging from lynchings to police brutality...and all of this is largely irrelevant to the tech community.
andreiw··on Microsoft launches Windows 10 on ARM
I know people have an axe to grind both with the old lame duck WinRT and the insulting locked down firmware on those devices, but let’s wait for the reviews and tear-downs before tearing into the news?
andreiw··on Cavium Is an Arm Server Contender
IMO yes. Although SBSA and SBBR target the servers, already smaller gear (think vCPE, set top box and IoT gateway chips) are adopting the specs as well, and I anticipate adoption everywhere except devices where a) cost is everything b) power and perf need to be squeezed out even at the cost of maintainability. At some point following the everything-needs-its-own-BSP mentality for embedded SoCs will start hurting the bottom line, because there will be plenty of competitors willing to make more “normal”-looking gear.
andreiw··on Cavium Is an Arm Server Contender
That’s exactly why the Arm servers adopt the same specs or functional equivs to x86. A single binary distribution of an OS will boot on any SBSA compatible machine - because all the weird bits are hidden through ACPI, UEFI and PSCI. No BSPs.

I’d go as far as saying Arm servers are compatible to x86 designs at a platform level (eg. how PCIe and config space are wired up, how caches and DMA work, NUMA, SMP, MSI(X), and so on....

andreiw··on Cavium Is an Arm Server Contender
That’s not true at all.

That has been true only for the embedded and mobile space.

The server space is exactly being made open and compatible between SoCs (in the same way AMD and Intel machines are). Platform crud (i2c, gpio, i2c, clock trees and pinnmuxes) is hidden in firmware behind ACPI, PSCI and UEFI just like on x86. SBSA and SBBR specs mandate stringent compatibility requirements. Machine error handling is firmware-first. IO is basically PCIe now.

For an OS vendor or an IT guy these machines look almost exactly like an x86 box. And then they look the same between the Arm vendors too.

andreiw··on Azure IoT Edge open for developers to build for the intelligent edge
Can someone from Microsoft comment this and https://azure.microsoft.com/en-us/blog/securing-the-intellig...?

Does this mean Windows IoT 64-bit on Arm edge gateways? Is SBSA and SBBR mandatory?

How does this contrast with Google IoT Core on the Marvell A8040-based Clearoud (https://www.solid-run.com/clearcloud-cloud-iot-core/)?

andreiw··on Red Hat Enterprise Linux for ARM arrives after seven years of development
https://www.spinics.net/lists/linux-arch/msg38872.html

RHEL requires 64k base page size, which AFAIK the RPi3 doesn’t support. You can run Fedora and CentOS, though.

andreiw··on Red Hat Enterprise Linux for ARM arrives after seven years of development
Marvell MacchiatoBIN, Overdrive 3000, Gigabyte MT30-GS2 (ThunderX), Gigabyte R120-P31 (X-Gene1)
andreiw··on Red Hat Enterprise Linux for ARM arrives after seven years of development
SoftIron.com. Cheapest option (OverDrive 1000) is $599.

https://www.solid-run.com/marvell-armada-family/armada-8040-... - $369. You can get it in a case too (https://www.solid-run.com/clearcloud-cloud-iot-core/)

https://www.phoenicselectronics.com will sell you a Gigabyte MT30-GS2 (Cavium ThunderX 32-core) 1U system for around $2k. If you want to provide your own ATX case - much less.

Gigabyte XGene-1 designs based on MP30-AR0 in 1U are literally $1k. http://www.nextwarehouse.com/item/?2465024_g10e

andreiw··on Red Hat Enterprise Linux for ARM arrives after seven years of development
SoftIron.com. Cheapest option (OverDrive 1000) is $599.

https://www.solid-run.com/marvell-armada-family/armada-8040-... - $369. You can get it in a case too (https://www.solid-run.com/clearcloud-cloud-iot-core/)

https://www.phoenicselectronics.com will sell you a Gigabyte MT30-GS2 (Cavium ThunderX 32-core) 1U system for around $2k. If you want to provide your own ATX case - much less.

Gigabyte XGene-1 designs based on MP30-AR0 in 1U are literally $1k. http://www.nextwarehouse.com/item/?2465024_g10e

andreiw··on Red Hat Introduces Arm Server Support for Red Hat Enterprise Linux
Enterprise-level support vs. use-at-your-own-risk science project.
andreiw··on Red Hat Introduces Arm Server Support for Red Hat Enterprise Linux
“besting” is very relative. Workloads in such footprints are usually power constrained and I am not aware of any x86 solutions involving a discrete NIC that can do 20Gbps at 35W.

Yep, ACPI support is evolving, but it’s a matter of time. Folks have figured finally that if it isn’t compliant with SBBR and SBSA, then there will be plenty of competitors who will be, absolving you of the headache of dead-end BSPs.

andreiw··on Red Hat Introduces Arm Server Support for Red Hat Enterprise Linux
https://www.qualcomm.com/news/onq/2017/11/08/qualcomm-centri...
andreiw··on Red Hat Introduces Arm Server Support for Red Hat Enterprise Linux
https://www.solid-run.com/marvell-armada-family/armada-8040-...

softiron.com for the OverDrive 1000.

andreiw··on Red Hat Introduces Arm Server Support for Red Hat Enterprise Linux
SoftIron.com. Cheapest option (OverDrive 1000) is $599.

https://www.solid-run.com/marvell-armada-family/armada-8040-... - $369

https://www.phoenicselectronics.com will sell you a Gigabyte MT30-GS2 (Cavium ThunderX 32-core) 1U system for around $2k. If you want to provide your own ATX case - much less.

ThunderX2 and Qualcomm Centriq (3rd gen arm server) systems have been recently announced (as in GA), but those will set you back quite a bit because they're not toys. But if you look at the 1st and 2nd gen systems, those are quite approachable.

andreiw··on Red Hat Introduces Arm Server Support for Red Hat Enterprise Linux
Very successful.

We're now in the 3rd generation of Arm servers, all built to the same set of specifications with multiple vendor SoCs by tens of different OEM/ODMs - SBSA (Server Base System Architecture) and SBBR (Server Base Boot Requirements).

The goal of these specs was to make these servers as "boring" as possible, i.e. as similar to an x86 server so that neither OEM/ODMs nor IT guys have to be able to distinguish between supporting an Arm or an x86 servers.

This means that you will be able to boot the same binary OS distribution on every machine. There are no more BSPs like in the old 32-bit Arm world. This means that the OS does not need to know anything about clock domains, pin muxes, GPIOs or DVFS beyond the standard facilities exposed via ACPI. Like x86, machine error handling is firmware-first. PCIe works the same way as on x86. AP core boot up and power off is abstracted through the PSCI (Power State Control Interface). TrustZone is not available for OS use and is purely used to implement resident portions of firmware (RAS error handling, PSCI, SDEI).

For people asking why UEFI and why ACPI, the answer is very simple: because that's what 99% of all deployed servers use. Using something else is just a friction point for the OEMs, ODMs, IHVs and firmware vendors. It would also be a friction for anyone consuming these systems. Sometimes, you have to be the adult in the room and say that you don't need an "ideal" solution, but the existing solution will work. Plus, the UEFI+ACPI world only really works when you are able to make all systems look more or less the same, hiding all the nitty-gritty shitty bus accesses (I2C for power buttons, SPI for flash, GPIO etc) completely in the firmware, not for the OS to care about. The OpenPower ecosystem didn't see this at all, and they have an elegant firmware solution (hostboot + skiboot + petitboot), but... why bother? It's yet another way to boot, and it just makes their systems foreign to 99% of everyone making and using servers. The OpenPower booting was basically built for Google, but the reality of Google is very different from the realities of the world.

← PreviousPage 2 of 7Next →