News for hackers. Stuff that matters.
Re:Intel mulls cutting 16 and 32-bit support, booting straig... by danudey on Thursday May 25, 2023 @02:02PM (#36073944)
It still blows my mind that a 64-bit i9-13900K with 24 cores, 36 MB of cache, and a turbo speed of 5.8 GHz has to pretend to be a 16-bit 8086, which had a clock speed of 5-10 MHz and was discontinued in 1998, just to properly boot itself.

(An exaggerated oversimplification I know, but still)

Re:Intel mulls cutting 16 and 32-bit support, booting straig... by jeffbee on Thursday May 25, 2023 @02:28PM (#36074255)
Yeah but who, other than the person responsible for the firmware that boots the system, cares? These simplifications will have zero observable benefits to you. They won’t save a lot of die space or cost.

The complexity of the far past is so small that it is inconsequential today. The PS1 was implemented in spare die area of the PS2’s USB controller. Time marches on and die space becomes free.

Re:Intel mulls cutting 16 and 32-bit support, booting straig... by jkingsman on Thursday May 25, 2023 @02:34PM (#36074357)
> The PS1 was implemented in spare die area of the PS2’s USB controller

Whoah, that is WILD. Any info about where I can learn more about this?

Re:Intel mulls cutting 16 and 32-bit support, booting straig... by nateguchi on Thursday May 25, 2023 @02:48PM (#36074496)
Re:Intel mulls cutting 16 and 32-bit support, booting straig... by tobz1000 on Thursday May 25, 2023 @02:50PM (#36074527)
It sounds more like the I/O firmware was running on dedicated PS1 hardware:

https://www.theguardian.com/technology/2013/dec/12/ps4-and-x...

> The PlayStation 2, meanwhile, had the original PlayStation chipset built in, so it ran pretty much any PSone title – and when that chip wasn't being used for backwards compatibility it doubled as an input/output processor, which was pretty canny.

Re:Intel mulls cutting 16 and 32-bit support, booting straig... by mikeponders on Thursday May 25, 2023 @02:55PM (#36074578)
https://www.copetti.org/writings/consoles/playstation-2/#io

Essentially the thicc PS2s include the PS1 chip and normally use it for IO and also for PS1 compatibility.

Re:Intel mulls cutting 16 and 32-bit support, booting straig... by kibwen on Thursday May 25, 2023 @02:34PM (#36074352)
True that it's invisible to end-users, but it's still a pain in the ass to people writing OSes. Lowering the barrier to entry even a little bit will be appreciated by hobbyists.
Re:Intel mulls cutting 16 and 32-bit support, booting straig... by t0b1 on Thursday May 25, 2023 @02:43PM (#36074436)
How so? The bootloader already runs in long mode with UEFI and it also takes care of bringing up other cores so this is not really a problem in my experience.
Re:Intel mulls cutting 16 and 32-bit support, booting straig... by monocasa on Thursday May 25, 2023 @03:20PM (#36074900)
UEFI doesn't really take care of bringing up the other cores. There's a way to get access to them, but you have to give them back to UEFI before exiting boot services, so that doesn't really help your kernel. You still need to do the SIPI into x86-16 code to really take control of the AP cores.

Even the new way (that isn't actually implemented AFAIK) just SIPIs into long mode code, it doesn't use the UEFI multicore stuff.

Re:Intel mulls cutting 16 and 32-bit support, booting straig... by JoshTriplett on Thursday May 25, 2023 @03:18PM (#36074868)
Linux still needs to use a Startup IPI to bring up other CPUs, which starts them running in 16-bit mode at an address under 1MB.

Having a fully 64-bit way to bring up other CPUs would simplify that.

Re:Intel mulls cutting 16 and 32-bit support, booting straig... by DSMan195276 on Thursday May 25, 2023 @03:34PM (#36075076)
From a hobbies point of view I'd actually argue the opposite. The nice thing about the old stuff (Ex. the 8259 PIC support they're removing here) is that it's much simpler to get going. They have very large limitations, but those don't matter when just starting, and they serve as a good stepping stone and learning opportunity before eventually moving on to the modern and more complicated stuff. Additionally if you're using a bootloader then the bulk of this is already solved for you anyway.
Re:Intel mulls cutting 16 and 32-bit support, booting straig... by rbanffy on Thursday May 25, 2023 @04:30PM (#36075777)
The modern stuff is only more complicated because it had to be built around and on top of dozens of dead civilisations under it.
Re:Intel mulls cutting 16 and 32-bit support, booting straig... by hulitu on Friday May 26, 2023 @04:10AM (#36081417)
This is the simplistic explanation.

I think that besides that, some people are paid for complexity. That would justify the evolution of SW in the last 10 years.

Re:Intel mulls cutting 16 and 32-bit support, booting straig... by meepmorp on Thursday May 25, 2023 @02:47PM (#36074482)
> The PS1 was implemented in spare die area of the PS2’s USB controller.

This really confused me until figured out you weren't talking about the IBM PS/1 and PS/2.

Re:Intel mulls cutting 16 and 32-bit support, booting straig... by Narishma on Thursday May 25, 2023 @03:03PM (#36074678)
I don't think they are. IBM PS/2 was more than a decade before USB.

But then, the PS2 console didn't have USB either, so I'm not sure what they're talking about.

Re:Intel mulls cutting 16 and 32-bit support, booting straig... by circuit10 on Thursday May 25, 2023 @03:12PM (#36074786)
> The PlayStation 2 also features two USB ports

https://en.wikipedia.org/wiki/PlayStation_2

Re:Intel mulls cutting 16 and 32-bit support, booting straig... by GenerWork on Thursday May 25, 2023 @03:13PM (#36074797)
PS2 had 2 USB ports on the front, did it not?
Re:Intel mulls cutting 16 and 32-bit support, booting straig... by ace2358 on Thursday May 25, 2023 @03:30PM (#36075021)
Yeh and the original had a FireWire port too!
Re:Intel mulls cutting 16 and 32-bit support, booting straig... by Narishma on Thursday May 25, 2023 @07:15PM (#36077670)
You're right. I guess I never noticed because they didn't use it for the controllers.
Re:Intel mulls cutting 16 and 32-bit support, booting straig... by shpx on Thursday May 25, 2023 @02:52PM (#36074553)
I care. I want to learn the entire thing I'm using, which means I appreciate things that are simpler and faster to learn. You can say I am a stupid or irrational person not worthy of consideration for wanting this but I am who I am and I want to spend money on computers that cater to me.
Re:Intel mulls cutting 16 and 32-bit support, booting straig... by tedunangst on Thursday May 25, 2023 @04:42PM (#36075935)
Do you want a computer architecture that replaces and obsoletes everything you've previously learned or one that evolves and adds new features on top?
Re:Intel mulls cutting 16 and 32-bit support, booting straig... by solarmist on Thursday May 25, 2023 @07:21PM (#36077723)
Either depending on the situation.
Re:Intel mulls cutting 16 and 32-bit support, booting straig... by bdamm on Thursday May 25, 2023 @04:49PM (#36076023)
Then you are obviously running OpenBSD on ARM.
Re:Intel mulls cutting 16 and 32-bit support, booting straig... by jacquesm on Thursday May 25, 2023 @05:21PM (#36076386)
In that case you should probably not look at x86 at all. It's one of the most convoluted architectures out there, especially because it lugs all of that legacy stuff along.
Re:Intel mulls cutting 16 and 32-bit support, booting straig... by phendrenad2 on Thursday May 25, 2023 @05:26PM (#36076457)
When people say "who cares?" they generally mean "what non-vanishingly-small percentage of people care?" and I think that's still an unanswered question!
Re:Intel mulls cutting 16 and 32-bit support, booting straig... by citrin_ru on Thursday May 25, 2023 @06:01PM (#36076861)
It very similar to chip die space - modern technologies are so complex that to learn how 8086 works is a very small effort compare to learning how the latest intel CPUs work. And emulation of older generations is a small part of this complexity.
Re:Intel mulls cutting 16 and 32-bit support, booting straig... by nneonneo on Thursday May 25, 2023 @07:14PM (#36077658)
I'd argue that 16-bit mode is conceptually more complicated than modern 64-bit modes, at least for userspace. 64-bit mode has a single flat address space (FS/GS are just opaque offsets into this address space), memory-mapped I/O, and a single system call trap instruction. 16-bit mode has segmentation, I/O ports, multiple trap instructions (and call gates!), address space wraparound...
Re:Intel mulls cutting 16 and 32-bit support, booting straig... by shpx on Friday May 26, 2023 @03:01AM (#36080949)
Learning useful things is fun, learning useless things is unpleasant, so in some sense it's more effort.
Re:Intel mulls cutting 16 and 32-bit support, booting straig... by citrin_ru on Friday May 26, 2023 @03:38AM (#36081210)
While working on not always pleasant stuff at paid job as a hobby I sometimes learn 'useless' stuff from the past. For me on average old technologies looks simpler (though not without quirks) and more interesting to learn while modern ones often look over-complicated.

Just to clarify - I don't think that Intel should retain 16bit mode, but don't think removing it would make a big difference.

Re:Intel mulls cutting 16 and 32-bit support, booting straig... by amluto on Thursday May 25, 2023 @03:47PM (#36075226)
The OS cares, sadly. When the OS, running one one CPU, instructs another CPU to start (which happens — your system boots into your OS and also resumes from suspend with only one CPU running OS code), it sends a message called SIPI to that CPU. The CPU responds by running OS code, in real mode, at an address <1MB. So the OS needs to find valid memory below 640kB that doesn’t conflict with any other horrible legacy use.

Also, the “LA57” 5-level page table design has a little whoopsie: you can’t switch between 4 and 5 level page tables without exiting paged mode entirely.

Re:Intel mulls cutting 16 and 32-bit support, booting straig... by q1w2 on Friday May 26, 2023 @09:24AM (#36083767)
While all true, obviating all this has no material impact on the user.
Re:Intel mulls cutting 16 and 32-bit support, booting straig... by ithkuil on Thursday May 25, 2023 @02:09PM (#36074020)
It's even worse than that. If it was just the CPU...

It also simulate an old keyboard controller for the purpose of enabling the A20 gate which enables an address line.

https://en.m.wikipedia.org/wiki/A20_line

Re:Intel mulls cutting 16 and 32-bit support, booting straig... by deaddodo on Thursday May 25, 2023 @02:15PM (#36074086)
The A20 gate was deprecated (and made software-based) in Nehalem, then was removed completely in Haswell. It's never been a feature of the Zen µarch(s).
Re:Intel mulls cutting 16 and 32-bit support, booting straig... by armada651 on Thursday May 25, 2023 @02:13PM (#36074063)
Support for the A20 gate was actually already dropped as per the article you linked:

> Intel no longer supports the A20 gate, starting with Haswell.

Re:Intel mulls cutting 16 and 32-bit support, booting straig... by jylam on Thursday May 25, 2023 @02:35PM (#36074361)
It was not needed anymore in Haswell, but the support was still there. It isn't supported at all anymore.
Re:Intel mulls cutting 16 and 32-bit support, booting straig... by bonzini on Thursday May 25, 2023 @03:11PM (#36074775)
Emulation of the keyboard controller is done by the firmware. The processor's support for A20 was tied to port 92h.
Re:Intel mulls cutting 16 and 32-bit support, booting straig... by Dwedit on Thursday May 25, 2023 @05:40PM (#36076618)
The A20 line was famously used to hack the original XBox. By clearing A20, you prevent the XBox from booting from the hidden ROM, and it boots from regular flash ROM instead.

Some great videos about that on YouTube if you want to look.

Re:Intel mulls cutting 16 and 32-bit support, booting straig... by meepmorp on Thursday May 25, 2023 @02:28PM (#36074261)
IIRC, when you boot linux on a mainframe, you load your kernel and initrd into a virtual reader device so the machine can load it in 80-column punchcard sized chunks.
Re:Intel mulls cutting 16 and 32-bit support, booting straig... by projektfu on Thursday May 25, 2023 @02:39PM (#36074401)
And on the PDP-10, it contains a virtual robot to toggle the virtual switches on the virtual PDP-11, to load a loader that runs the virtual tape drive to load the startup program for the PDP-10.

j/k I have no idea how linux boots on Z.

Re:Intel mulls cutting 16 and 32-bit support, booting straig... by cbm-vic-20 on Thursday May 25, 2023 @03:10PM (#36074768)
This actually isn't too far from the truth. The VAX 8800 series of minicomputers used a cut-down PDP-11 to boot it, and to act as a console.

https://en.wikipedia.org/wiki/VAX_8000#VAX_Console

Re:Intel mulls cutting 16 and 32-bit support, booting straig... by rbanffy on Thursday May 25, 2023 @04:37PM (#36075867)
Fun to think that it’s more or less how zVM starts stuff. It took me a while to mentally accept the concept of VM that zVM (in reality, I was playing with VM/370) has, which is not like anything non-mainframe users would be familiar with.

But you can also run Linux directly on an LPAR under the thin hypervisor (which I forgot the name) that runs zVM.

The indignity of the mainframe is that it’s booted under control of an x86 machine that itself boots up as an 8086. At least these days the service elements run Linux.

Re:Intel mulls cutting 16 and 32-bit support, booting straig... by skissane on Thursday May 25, 2023 @05:16PM (#36076337)
> But you can also run Linux directly on an LPAR under the thin hypervisor (which I forgot the name) that runs zVM.

The name is PR/SM - which, from what I’ve heard, actually started life as a modified version of VM

> The indignity of the mainframe is that it’s booted under control of an x86 machine that itself boots up as an 8086. At least these days the service elements run Linux.

Poor OS/2, no more booting mainframes for it anymore, unless they are very old ones

Re:Intel mulls cutting 16 and 32-bit support, booting straig... by rbanffy on Sunday May 28, 2023 @04:56PM (#36107710)
> Poor OS/2, no more booting mainframes for it anymore, unless they are very old ones

At least it's not Windows.

Re:Intel mulls cutting 16 and 32-bit support, booting straig... by paulddraper on Thursday May 25, 2023 @02:33PM (#36074332)
What are the downsides of this?
Re:Intel mulls cutting 16 and 32-bit support, booting straig... by jacquesm on Thursday May 25, 2023 @05:23PM (#36076413)
Slow.
Re:Intel mulls cutting 16 and 32-bit support, booting straig... by 2OEH8eoCRo0 on Thursday May 25, 2023 @03:34PM (#36075084)
Slightly off topic but it blows my mind that the 13900K only supports 2 memory channels. My 10 year i7 supported 4!
Re:Intel mulls cutting 16 and 32-bit support, booting straig... by tracker1 on Thursday May 25, 2023 @03:45PM (#36075212)
Partly to simplify design and reduce cost, partly for market segmentation.
Re:Intel mulls cutting 16 and 32-bit support, booting straig... by adgjlsfhk1 on Thursday May 25, 2023 @04:57PM (#36076114)
this is only kind of true. the 13900k supports 2 channels but for ddr5, each channel ends up being split into two smaller channels.
Re:Intel mulls cutting 16 and 32-bit support, booting straig... by russdill on Thursday May 25, 2023 @03:47PM (#36075225)
Really it is a vast oversimplication. It's only what the system is made to look like it's doing, it's actually doing something completely different.

https://mjg59.dreamwidth.org/66109.html

Re:Intel mulls cutting 16 and 32-bit support, booting straig... by m463 on Thursday May 25, 2023 @04:09PM (#36075506)
I guess people got used to the 286 rebooting itself to access high memory and have allowed these sorts of things ever since.
Re:Intel mulls cutting 16 and 32-bit support, booting straig... by agumonkey on Thursday May 25, 2023 @05:07PM (#36076247)
I used to rant over this but I kinda like vestigial retrocompatibility of that sort.