More Power To The Firmware
An anonymous reader writes "In More Power To The Firmware Amit Singh talks about technical details of EFI, the next-gen BIOS replacement standard Intel, Microsoft and others are pushing. This is a very informative piece where he talks of issues with legacy BIOS, how it affects those who develop in the firmware environment and how EFI plans to solve these problems. EFI usage examples are included, including a programming example. He contrasts EFI with Open Firmware as well. IMO the second half of the article is even more interesting, where sample FORTH code is provided for displaying a window/mouse pointer GUI inside the Apple/Mac firmware! And of course, there's code for a new 'Towers of Hanoi' animation using the Mac firmware (remember Hanoimania?). Aspiring Mac Firmware Hackers could also check out the suggested projects ;-)"
...but can you imagine any sort of Windows-dependent BIOS? Is this in our future? Is it even possible? Or, worse yet, a Windows-based BIOS of some type where the OS actually IS the BIOS?
Don't be a looter...and yes, I know that it's spelled with an "A" instead of an "E".
I'm not in favor of increasing the complexity of the bios. They can barely get them stable after a few updates now, how will it be when they are doing alot more? Yeah I know that Sun Sparc's have a complicated bios, but they did it right. I don't trust Microsoft and Intel to do it right.
thisnukes4u.net
Apple has been doing this since the beginning, since they control all hardware (or has to be approved by them). Having MS or Intel do it on a box that will have an immeasurable amount of peripherals by different manufacturers is only looking for problems. It may be possible but I fear it will be at the expense of creativity and thinking differently will not be an option.
Stay tuned for new sig...
On the contrary, it could be interesting if the BIOS were to handle as much of the hardware as possible. Drivers could be written for the BIOS, and then that would solve our *n[ui]x problems since every operating would be accessing these routines the same way. Wouldn't something like this level the field?
Let me add something that I find remarkable: I have not seen a single reference to Open Firmware in any EFI specification, presentation, whitepaper, or related document. Perhaps I did not look hard enough. This is not a criticism though. Some might argue that EFI's pathbreaking-ness is valid in the context of PCs, so it is appropriate not to mention prior similar ideas.
I'm not quite sure what that last part means - how can you say it's not appropriate to mention when the technology is so similar? Just because it hasn't been used on PC's before is no reason not to learn from what has been used before.
I would have liked to see more of a comparison of exactly whe EFI gives you over Open Firmware of today - I gathered it was the custom pre-boot programs and network connectivity, but I would have liked to see more examples of new things that make use of these features that you can't do in Open Firmware.
It's funny to have a whole article about EFI then show all the cool things you can do with an advanaced BIOS by giving Open Firmware demos. Sort of like watching a Longhorn demo of transparency in UI while working on a Mac.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
> When you can program games in BIOS level systems
Yeah, nobody's ever written a 86 real mode game. The original BIOS came with a BASIC intepreter, you know.
Fact is that the PC BIOS is 15 years past due for replacement. Whether or not DRM is included doesn't change that -- not to mention DRM can be and has been implemented for classic real mode BIOSes.
Ironically, your Sun Ultra 1's firmware is pretty much the same. It's OpenFirmware, and it uses a Forth interpreter to execute on-adapter code which is used until the kernel is loaded and a system-level driver can be used. This is why text displays faster in the X Window System than on Sun consoles - the console is using a video driver written in Forth and interpreting it on the fly! Hence this is true for all Sparcs back into antiquity. (I used to have a 3/260 which I later upgraded to a 4/260, that's one of the first generation of SPARC-based Sun systems.)
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
So I glaned over the article, and while it mainly focused on EFI being done for IA-64, it also hinted that EFI was available for x86. Does anyone know of any reasonable priced motherboards that use this as opposed to an older BIOS? I'm looking for the hinted at x86 support, as I don't feel like buying an Itanium. Also, while we are on the subject, is this an Intel only thing or does AMD have a say in the matter?
-- Fighting mediocrity one bad post at a time.
I've been using EFI (on Itanium) for quite some time, and have had zero issues with it. I really like the fact there are DCHP modules that allow networking to be started without the OS running. They have ftp servers, disk drivers and you can boot your machine from a remote image using bootp services. If your OS is dead on your disk, you can restart to efi and download a previous image on to your harddisk (or remote boot/install). Heck, you can run your code without even booting the OS. Imagine dedicated distributed.net clients that run straight from EFI without the overhead of an OS.
While I understand people have concerns that Microsoft is using this as a DRM delivery mechanism, there is nothing that is stopping Microsoft from working with Phoniex to add DRM to today's bios's. EFI (and non-legacy bios environments like openBios) make it easier for non-windows OSes to run on new Hardware. This isn't in microsoft's best interests. Microsoft wants a bios that only runs signed code (like their XBOX), so that you have to ask them nicely for a key to your equipment.
The author mentions that EFI is somehow better than Open Firmware, but I fail to see how. It all sounds like Intel decided to go their own way again (just like their Itanium had to be different and incompatible with any (RISC or CISC) CPU out there).
Why, for sanity's sake, can these companies never adopt a perfectly good standard, but do they always have to give everyone headaches by rolling their own? If Open Firmware has some deficiencies, surely they can be fixed with some incremental improvements?
The Intel Architecture is evolving...from the primitive, kludgy, underperforming, el cheapo to the overhyped, overheating, overexpensive and incompatible. Even IBM (Connector Conspiracy) and Apple (Think Different) are more open and standards-oriented these days.
Please correct me if I got my facts wrong.
There are various system emulators that need ROM images to boot the virtual system. I have been wondering about open source projects to provide these images, unencumbered by copyright restrictions, trade secrets, what have you.
I am into operating system development, and I would like to play around with architectures that I don't have real hardware of. It can't be too hard to write a firmware implementation if the code for the emulator is already available.
If you are aware of any such projects that are not mentioned here, please post. Ones that I know of are OpenBIOS, FreeBIOS, and LinuxBIOS, which are also mentioned in the article, with links.
Please correct me if I got my facts wrong.
It would be fun to see someone port one of those Apple ][ emulators to this thing, so you can actually boot a Mac into an Applesoft programming mode, just like in the old Apple ]['s. If it can handle a simple GUI like in the article, or if it could handle an implementation of System 1, I'm sure an Apple ][ emulation would be no problem.
From what I gather in the article, any of these Forth programs have to be loaded off of the hard drive in order to be executed. I didn't really understand if they could be stored in non-volatile memory, and if the computer could be configured to run them when it is turned on. I don't know how much space there is for non-volatile memory, but it would be interesting to be able to write a really basic OS that runs off of it without having to read from the hard drive at all.
I suppose it's possible since you can update the firmware, but does Apple keep information about how to program the firmware proprietary, or is it open for people to tinker with?
The article doesn't actually mention Athlon 64's at all. Although AFAIK they're designed so they can use the old PC BIOS system (and everything else x86) rather than needing a new BIOS (etc.). Perhaps a sentence on how AMD took an x86 compatible approach to designing a 64 bit system meant that they (can and do) use the old BIOS system instead of something new would've been a useful addition.
10 PRINT "LOOK AROUND YOU ";
20 GOTO 10
Ideally, perhaps, if Intel would GPL the whole BIOS, and I'm not talking about the table scraps they CPL'd a few weeks ago. Such routines would have to be completely open for *EVERYONE* (Not just NDA holders like Microsoft).
Making BIOS calls for everything would also make porting code across architectures a nightmare (Even more so).
If USA's DRM laws don't aply here in Spain, I will be glad to swap a crippled BIOS by a shiny Openfirmware
Go right ahead. They don't need laws to ram this crap down your throat.
If you don't have a Trusted Computing compliant system then you will not be able to install any of the new Trusted software. You will not be able to use any of the new Trusted files. You will not be able to access any of the new Trusted websites. After a couple of years you may not be able to get onto the internet at all.
Take the websites for example - it would be much like attempting to surf the web today with cookies and javascript off. Tons of websites simply spit out an error message saying there's something wrong with YOUR computer, and that YOU need to fix the problem.
All sorts of websites already try to lock you out if you try to block ads, or if you have a pop-up blocker, or if you try to deep-link, or use javascript encryption to prevent you from copying anything, or to enforce registration. Well, websites will be able to use Trusted Computing to enforce all of that and more. If your computer is not compliant they will simply lock you out.
The only thing that can stop Trusted Computing is if there is a massive public backlash against it.
-
- - You can't take something off the Internet! That's like trying to take pee out of a swimming pool.
I agree with you... but I sense the tide is changing. Can't you hear it from where you are? It's only a rumor, but you can already hear it growing louder...
Once a government, an individual or a corporation tastes the freedom, they won't easily give up. I see a lot of new happy users of Free software in the corporate world, and I also see them in the governments, at least here in Europe. Once they pay to make a transition to Free software (gaining freedom to choose whom to make deals with, and the economic benefits of competition), I seriously doubt anybody can bring them back. If there is no one industry in the USA that wants to step in the market for "hardware for free software in Europe", either Japan or China will, or Europe will start to produce their own hardware. South America looks just the same (think of Brazil, for a great example). I can't think of the internet going all-trusted with so many content producers being trusted-free.
On a side note, I'm not sure if US laws will be so strong as to prevent US manufacturers from producing non-DRM-crippled-hardware in foreign countries, in order to sell it to foreign countries,thus losing tons of money... will they?
Finally, once again, I agree with you. We need a massive public backslash against Trusted Computing. My way to fight is to get as many individuals to go over Free software, Free music and Free information... and to push my government towards the same goal.
My journal. Mainly about freedom.
Boot time vulns...
Yup, its an attack vector. Real Story: A major vendor of network bandwidth wanted to remotely bring up router boxes... using dhcp etc. And remotely boot those boxes. Over the internet.
So, here is the attack vector:
Hacker intercepts communication, capturing digitally signed OS that boots the router box. Now, this is useless, because all the hacker can do is wait for the box to reloaded, and then feed it the same OS image.
Imagine, though, that a little time has gone by. Now, some vulns are known in that particular core. Now, when the router box is rebooted, the hacker can put BACK the vulnerable OS, and rehack.
So, each download image must be secured against the box, to avoid replay attacks. Yes, this was brought up up the review of the "load OS over the internet" project.
Of course, all names have been filed off, to protect.... well, whoever.
Of course no mass market data producer is going to re-crypt data for each individual. That would mean that the OS/CONTENT would have to be re-encrypted after registration, *or* every retail copy would be different, *or* there would be no retail copies (only pre-installed).
Ratboy.
Just another "Cubible(sic) Joe" 2 17 3061
I get a certain kind of comfort when I pull in to the gas station and see a really old car using the same gas pump as me. In the auto industry there have been many changes in the past hundred years but a 1913 Model T can still buy and use the same gas as my car can.
BIOS is a sort of standard that assures compatibility. When we drift away from that standard, we start losing a very core basic value - the kind of thing that stops us from "filling up at the pump" so to speak.
I want my BIOS. Other things can change but I want my BIOS because I feel better knowing that some things stay the same.
Yea! Exactly. I checked out the GPL bios thing that those guys are working on at LinuxBIOS. I like they way they go about it - they let Linux (the OS, not the LinuxBIOS) handle as much as possible. Get basic functions up, and let the OS do the rest. Of course, they also have some cool features like network accessable bios, but overall it's very simple. "Let Linux do it" is their motto.
Too bad it's only available for a limited set of motherboards.
- It's not the Macs I hate. It's Digg users. -
Evidently bits of Intel still haven't managed to bring themselves to admit the existance of Athlon64 just yet.
The joke I read was "I can see the technician suggesting that Intel uses gorilla/human hybrids to crowbar a Xeon into a Socket-478 package".
And that, ladies and gentlemen is how the P4EE came about.