Sponsored Content
Top Forums Programming Running bin file from a module Post 302505596 by fpmurphy on Thursday 17th of March 2011 11:14:33 AM
Old 03-17-2011
Quote:
In final version my driver would load UEFI driver from hardware's flash.
I am confused. UEFI drivers are intended to extend firmware, have no OS dependence and have nothing to do with an operating system kernel.

How do you expect the kernel to load and interface with a UEFI driver? UEFI drivers can be 32 bit, 64-bit and more commonly EBC (Efi Byte Code). Have you read the Driver Writers Guide for UEFI?

Are you aware, for example, that 64-bit UEFI uses the Microsoft X64 calling convention whereas Linux uses the AMD64 calling convention.
Code:
//
// Unix/Linux arg passing:  RCX, RDX,  R8,  R9
//                                     RSI, RDI scratch 
//   UEFI/EFI arg passing:  RDI, RSI, RDX, RCX, R8, R9
//                                     Callee allocates 32 bytes on stack to spill registers
//                                     RSI, RDI callee-save
//
//   Mapping between registers
//
//   arg1   arg2    arg3   arg4   arg5     arg6      arg7       arg8
//
//   gcc:  (AMD64 ABI)
//   %rdi,  %rsi,  %rdx,  %rcx,    %r8,     %r9,     8(%rsp), 16(%rsp),  ....
//
//   efi:  (Microsoft X64)
//   %rcx,  %rdx,   %r8,   %r9,  32(%rsp), 40(%rsp), 48(%rsp), 56(%rsp), ....
//

You also need a UEFI-aware operating system of which there are a limited number out there. Recent 64-bit versions of Fedora/Redhat/etc.

If you describe exactly what you are trying to achieve - the big picture and not the how to - we can probably help you.
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

/bin/sh: /usr/bin/vi: No such file or directory when doing crontab

I just set up an ftp server with Red Hat 5.2. I am doing the work, I'm baby stepping, but it seems like every step I get stuck. Currently, I'm trying to set up a crontab job, but I'm getting the following message: /bin/sh: /usr/bin/vi: No such file or directory. I see that vi exists in /bin/vi,... (3 Replies)
Discussion started by: kwalter
3 Replies

2. Programming

find the fully-qualified path for the app my module is running in

Hi- I need the cpp call that will tell me the full path to the app I'm running in. For example, I'm running in a loaded library for either mozilla or firefox, but would like to know the full path to the executable /usr/bin/firefox /usr/bin/mozilla /usr/local/firefox1_5 etc... (For... (4 Replies)
Discussion started by: erwinfletch
4 Replies

3. Linux

How to convert Linux Kernel built-in module into a loadable module

Hi all, I am working on USB data monitoring on Fedora Core 9. Kernel 2.6.25 has a built-in module (the one that isn't loadable, but compiles and links statically with the kernel during compilation) to snoop USB data. It is in <kernel_source_code>/drivers/usb/mon/. I need to know if I can... (0 Replies)
Discussion started by: anitemp
0 Replies

4. Shell Programming and Scripting

Why does my /bin/csh take longer than /bin/perl?

Okay, so I have two "Hello, world!" scripts, "test.pl" and "test.sh". #!/bin/perl -w use strict; print "Hello, world!\n"; #!/bin/csh echo Hello,\ world! When I run test.pl, it runs instantly, always. When I run test.sh, it takes anywhere between 4 and 22 seconds! I'd like to know what... (3 Replies)
Discussion started by: acheong87
3 Replies

5. UNIX for Dummies Questions & Answers

fuser: difference with bin/sh and bin/ksh shell script

Hi, I have a problem I don't understand with fuser. I launch a simple shell script mysleep.sh: I launch the command fuser -fu mysleep.sh but fuser doesn't return anything excepted: mysleep: Then I modify my script switching from #!/bin/sh to #!/bin/ksh I launch the command fuser -fu... (4 Replies)
Discussion started by: Peuj
4 Replies

6. OS X (Apple)

When to use /Users/m/bin instead of /usr/local/bin (& whats the diff?)?

Q1. I understand that /usr/local/bin means I can install/uninstall stuff in here and have any chance of messing up my original system files or effecting any other users. I created this directory myself. But what about the directory I didn't create, namely /Users/m/bin? How is that directory... (1 Reply)
Discussion started by: michellepace
1 Replies

7. Programming

Why am i getting these strange packets while running my packet capture module written in c.?

I have made an packet capture application running on intel machine, it is capturing packets with src address- 17.0.0.0 destination ip- 66.0.0.0, source port- 0, destination port- 0, and protocol- 0 what does these packets mean ? The code written to interpreter captured bytes is given below.... (5 Replies)
Discussion started by: arunpushkar
5 Replies

8. Ubuntu

Compile smbfs module in kernel version 3.10 running Ubuntu 12.04 LTS

Is there any way to compile smbfs module in kernel 3.10 running Ubuntu 12.04 LTS. I did a 'make menuconfig' and it shows cifs. I found out online that smbfs is deprecated and replaced by cifs. I have an old system with kernel version 2.4 which only has smbfs (no cifs). Is it possible to compile... (1 Reply)
Discussion started by: Monil
1 Replies

9. AIX

Redistribution bin required for AIX. j7r164redist.7.1.0.25.bin

Hi, I am planning to install a version of Informatica on my AIX box. It requires a specific java build in pap6470_27sr2-20141101_01(SR2). The current link for IBM 64-bit SDK for AIX®, JavaTM Technology Edition, Version 7 Release 1 has a more recent version in j7r164redist.7.1.0.75.bin. Is... (4 Replies)
Discussion started by: meetpraveens
4 Replies

10. Shell Programming and Scripting

Usage of #!/bin/sh vs #!/bin/bash shell scripts?

Some question about the usage of shell scripts: 1.) Are the commands of the base shell scripts a subset of bash commands? 2.) Assume I got a long, long script WITHOUT the first line. How can I find out if the script was originally designed für "sh" or "bash"? 3.) How can I check a given... (3 Replies)
Discussion started by: pstein
3 Replies
PESIGN-CLIENT(1)					      General Commands Manual						  PESIGN-CLIENT(1)

NAME
pesign-client - command line tool for signing UEFI applications SYNOPSIS
pesign [--in=infile | -i infile] [--out=outfile | -o outfile] [--export=exportfile | -e exportfile] [--token=token | -t token] [--certificate=nickname | -c nickname] [--unlock | -u] [--kill | -k] [--sign | -s] [--pinfd=pinfd | -f pinfd] [--pinfile=pinfile | -F pinfile] DESCRIPTION
pesign is a command line tool for manipulating signatures and cryptographic digests of UEFI applications. OPTIONS
--unlock Unlock the specified token. A PIN - specified by one of --pinfd, --pinfile, or the environmental variable PESIGN_TOKEN_PIN - is required for this operation to succeed. The PIN may be empty, if that is what is required for the token specified with --token. --pinfd=pinfd When using --unlock, read the token's PIN from the open file descriptor pinfd. --pinfile=pinfile When using --unlock, read the token's PIN from the file pinfile. --sign Sign the binary specified by infile. --detached When used with --sign, write the signature to outfile. --in=infile When used with --sign, specify the input binary. --out=outfile When used with --sign, specify output file. If --detached is specified, this will be a DER-formatted signature. Otherwise, the output will be the signed PE binary. --token=token When used with --unlock or --sign, use the specified NSS token's certificate database. --certificate=nickname When used with --sign, use the certificate database entry with the specified nickname for signing. --kill Terminate the signing server. SEE ALSO
pesign(1) AUTHORS
Peter Jones Mon Oct 15 2012 PESIGN-CLIENT(1)
All times are GMT -4. The time now is 02:56 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy