x86asm.net
Message board for the users of x86asm.net
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

UEFI Programming - First Steps, 1.0

 
Post new topic   Reply to topic    x86asm.net Forum Index -> Discussion on Articles
View previous topic :: View next topic  
Author Message
MazeGen
Site Admin


Joined: 05 Sep 2007
Posts: 98
Location: .cz

PostPosted: Tue Mar 31, 2009 10:33 am    Post subject: UEFI Programming - First Steps, 1.0 Reply with quote

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
View user's profile Send private message Send e-mail Visit poster's website
tomtobias
Moderator


Joined: 29 Sep 2007
Posts: 40

PostPosted: Wed Apr 08, 2009 5:55 pm    Post subject: well done... Reply with quote

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
View user's profile Send private message
Guest






PostPosted: Wed Apr 08, 2009 9:30 pm    Post subject: Reply with quote

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

PostPosted: Wed Apr 08, 2009 9:51 pm    Post subject: Reply with quote

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
Smile
Back to top
View user's profile Send private message
Anonymous (Madis731)
Guest





PostPosted: Thu Apr 09, 2009 6:44 am    Post subject: Testing if I can answer anonymously Reply with quote

Hi, vid asked me to discuss here Smile if I get my account enabled, I will be back.
Back to top
Madis731



Joined: 09 Apr 2009
Posts: 1
Location: Tallinn, Estonia

PostPosted: Thu Apr 09, 2009 9:10 am    Post subject: Intel, its boards and *EFI Reply with quote

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 Smile You can easily identify a UEFI board Razz

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
View user's profile Send private message
vid_
Guest





PostPosted: Mon Apr 13, 2009 1:46 pm    Post subject: Reply with quote

so it looks like 3x boards don't have UEFI USB support Sad
Back to top
Jack
Guest





PostPosted: Thu Dec 03, 2009 9:26 am    Post subject: UEFI internal command Reply with quote

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

PostPosted: Thu Dec 03, 2009 2:45 pm    Post subject: Reply with quote

I suppose you'd have to build your own shell, but I am not really sure.
Back to top
View user's profile Send private message Visit poster's website
econnaatmof
Guest





PostPosted: Tue Jan 12, 2010 1:02 am    Post subject: UEFI Programming First Steps 1 0 Reply with quote

I consider, that you are not right. I am assured. I can defend the position. Write to me in PM, we will talk.
Smile
Back to top
econnaatmof
Guest





PostPosted: Tue Jan 12, 2010 1:06 am    Post subject: bmw series Reply with quote

Smile
Back to top
vid
Moderator


Joined: 25 Oct 2007
Posts: 21

PostPosted: Tue Jan 12, 2010 12:39 pm    Post subject: Reply with quote

As long as you are not registered on the board, and post only as a guest, I can't PM you. Idea
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    x86asm.net Forum Index -> Discussion on Articles All times are GMT
Page 1 of 1

 
Jump to:  
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