x86asm.net Message board for the users of x86asm.net
|
| View previous topic :: View next topic |
| Author |
Message |
MazeGen Site Admin

Joined: 05 Sep 2007 Posts: 98 Location: .cz
|
Posted: Tue Mar 31, 2009 10:33 am Post subject: UEFI Programming - First Steps, 1.0 |
|
|
Discussion on UEFI Programming - First Steps article, written by vid.
| Quote: | In this article, I will describe steps needed to start on with development of real UEFI
applications on x86 PC, and share some practical experiences with problems doing so.
I will focus on 64-bit version of UEFI, because the 32-bit version isn't much used
in this area (most likely due to Microsoft decision not to support UEFI in 32-bit Vista).
So, to follow some of my steps here, you'll need a 64-bit CPU (but not 64-bit OS, you
can use any 32-bit OS as well). We will finish this article with EFI Hello World application. |
|
|
| Back to top |
|
 |
tomtobias Moderator
Joined: 29 Sep 2007 Posts: 40
|
Posted: Wed Apr 08, 2009 5:55 pm Post subject: well done... |
|
|
first of all, THANK you vid, for an excellent introduction. I am so impressed by the high quality of this article. Excellent job.
I have no complaints. I am filled with admiration for your worthy accomplishment, and hope you continue the good work.
Here is an illustration of why I find this article meritorious:
| Quote: | | Unfortunately, in my tests 3 of 4 USB pens didn't work, and the 4th stopped working too after BIOS update. I had similar problem with one of two SATA drives not working with UEFI. Therefore, I strongly suggest to use IDE drive,... | notice please, the candor with which the author writes.
There is nothing sugar coated here.
Obviously, there remains some problems with UEFI. It is not vid's fault that the spec's don't accord equal weight to USB and SATA drives.
I am impressed. Most pro-uefi articles would not highlight this discordance. Hurrah for honesty.
So, too, I am surprised by, and elated to encounter links to C compilers, necessary (evil) to program UEFI. Well, for the time being, anyway.
This is not a criticism. This is not a complaint. This is a suggestion. It should not be misunderstood as a critical comment.
Why would anyone write "hello, world" using FASM, for UEFI?????
Is the goal here to permit those who possess a 64 bit cpu and UEFI bios, a possibility to test their system?
OK, then, that is most welcome, and much appreciated.
Else, if it is simply an illustration of how to manipulate UEFI then, too, it is not wrong. But, it seems a little bit out of the ordinary, a tad wrong for this article. Not wrong exactly, just hard to articulate why I feel uncomfortable with this section of the otherwise brilliant article. I just feel that somehow, "hello world", seems to trivialize or perhaps more accurately, seems to demean the genuine contribution that UEFI represents.
Thanks again, vid, job well done. I am grateful and thankful, that you have done yet another excellent summary.
Bravo.
tom |
|
| Back to top |
|
 |
Guest
|
Posted: Wed Apr 08, 2009 9:30 pm Post subject: |
|
|
I completely agree with your criticism of that FASM UEFI part. Originally it even wasn't in the article. It was added in final revision on MazeGen's request mainly as a somewhat unnatural "trick" to fit this article into aim of this site (x86asm.net), and partly a homage to my own effort with FASM EFI support and testing (I had my own reason for wanting FASM UEFI support, one that is not valid any longer though). For normal (non-asm-freaks) readers, this will probably remain just a weird curiousity at the end of article, easy to ignore I think. And since considerable part of this site's readers are asm-freaks, I bet they'll find this extra bit of info useful.
| Quote: | | It is not vid's fault that the spec's don't accord equal weight to USB and SATA drives. |
I'd say problem in not in specs, but is in fact that IDE is way easier to implement than SATA or USB, those are much more complicated protocols. |
|
| Back to top |
|
 |
tomtobias Moderator
Joined: 29 Sep 2007 Posts: 40
|
Posted: Wed Apr 08, 2009 9:51 pm Post subject: |
|
|
| vid wrote: | | I'd say problem in not in specs, but is in fact that IDE is way easier to implement than SATA or USB, those are much more complicated protocols. | Thanks vid.
Well said. I guess, from my point of view, and I have shared this debate previously, last year, on Bogdan's board, SATA is the future (and the present.) It is night and day difference compared with IDE.
UEFI is not yet widespread, but SATA is omnipresent. I do not know of ANY modern motherboard which does not support SATA.
cheers,
tom
 |
|
| Back to top |
|
 |
Anonymous (Madis731) Guest
|
Posted: Thu Apr 09, 2009 6:44 am Post subject: Testing if I can answer anonymously |
|
|
Hi, vid asked me to discuss here if I get my account enabled, I will be back. |
|
| Back to top |
|
 |
Madis731
Joined: 09 Apr 2009 Posts: 1 Location: Tallinn, Estonia
|
Posted: Thu Apr 09, 2009 9:10 am Post subject: Intel, its boards and *EFI |
|
|
http://www.intel.com/products/desktop/motherboard/index.htm?iid=desk_nav+board
What I'm going to tell you will upset some or make other just say: "Ah-ha!", but i7 was designed to conquer the world (everybody agrees) and the only board supporting it from Intel is DX58SO, which incorporates everything a man can imagine. This doesn't surprise anyone, because when a company has a single motherboard for a CPU, then you don't have a choice and therefore you need to have everything inside it.
DX58SO is an Extreme Series motherboard and has a price tag. You expect it to act as appropriate. In fact that is what it does - it works. It has got RAID0,1,5, the AMT, UEFI, manual CPU, RAM, PCI-E-bus configurations. You can clock and tweak about 30 different aspects.
There was a discussion with vid that there might be some "cutting corners" going on with other "lower class" motherboards and I do believe that. For example adding a Matrix storage to a specific board doesn't cost anything, but they have deliberately left it out so any Classic Series board will spit on your Matrix installation. Actually Essential Series is even lower and also logically doesn't have Matrix.
What do work on each Intel board from at least 900-series are USB storage devices. I've booted countless USB flash drives from 16MB upto 16GB. If I leave it on 'Auto' and format it as 1.38MB FAT12 then MenuetOS has no problem booting from USB.
In fact Intel has USB2.0 implemented on the BIOS level so they are incredibly fast as well. It can detect a floppy, an optical drive or a HDD-configuration from the USB. Whichever it is formatted in.
When it comes to UEFI, its still taking baby-steps (I wonder why does it take that long) and they (Intel) seem to have made a good BIOS for at least the X58 chip and it has all the good of USB2.0 and FAT32. It can boot my USB flash drive and run UEFI diagnostic applications and the 'Hello world' app by vid.
I haven't touched any other board with UEFI support yet, but I've got some configurations at home, that I can test with. There's a 3- or 4-Series Intel mobo, then there's an old 975XBX2 (which isn't listed on Intel's site, but it was an 'Extreme' class of boards) and some laptops, which I don't dare to say have ever heard of a term *EFI.
I will come back to you because its a long weekend from today (around ~14:00 that is) and I can take my time with this. What I am afraid of is that UEFI will be quietly supported only on boards that also have Matrix Storage technology so you need to look Media series and up. But because of that parallel, there may be a positive side also You can easily identify a UEFI board
EDIT:
DG45ID also works: http://support.intel.com/Products/Desktop/Motherboards/DG45ID/DG45ID-overview.htm
DP35DP doesn't work: http://support.intel.com/products/desktop/motherboards/dp35dp/dp35dp-overview.htm
(DPP3510J.86A.0484.2008.0805.2031 &&
DPP3510J.86A.0517.2009.0107.2203 BIOSs tested
with 2GB FAT32-formatted (UEFI bootable in the correct folder) Kingston USB drive
UEFI Boot [Enabled]; USB ports+legacy [Enabled]; Boot USB devices First [Enabled]
Kingston set as the primary boot device.) |
|
| Back to top |
|
 |
vid_ Guest
|
Posted: Mon Apr 13, 2009 1:46 pm Post subject: |
|
|
so it looks like 3x boards don't have UEFI USB support  |
|
| Back to top |
|
 |
Jack Guest
|
Posted: Thu Dec 03, 2009 9:26 am Post subject: UEFI internal command |
|
|
| Is it possible to add the UEFI application, build using EFI application toolkit in to the EFI shell as an internal command. |
|
| Back to top |
|
 |
vid Moderator
Joined: 25 Oct 2007 Posts: 21
|
Posted: Thu Dec 03, 2009 2:45 pm Post subject: |
|
|
| I suppose you'd have to build your own shell, but I am not really sure. |
|
| Back to top |
|
 |
econnaatmof Guest
|
Posted: Tue Jan 12, 2010 1:02 am Post subject: UEFI Programming First Steps 1 0 |
|
|
I consider, that you are not right. I am assured. I can defend the position. Write to me in PM, we will talk.
 |
|
| Back to top |
|
 |
econnaatmof Guest
|
Posted: Tue Jan 12, 2010 1:06 am Post subject: bmw series |
|
|
 |
|
| Back to top |
|
 |
vid Moderator
Joined: 25 Oct 2007 Posts: 21
|
Posted: Tue Jan 12, 2010 12:39 pm Post subject: |
|
|
As long as you are not registered on the board, and post only as a guest, I can't PM you.  |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You can reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You can attach files in this forum You can download files in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|