grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: xHCI driver


From: Andrei Borzenkov
Subject: Re: xHCI driver
Date: Mon, 28 Nov 2016 13:32:17 +0300

On Mon, Nov 28, 2016 at 11:48 AM, Bjørn Forsman <address@hidden> wrote:
> On 26 November 2016 at 10:29, Andrei Borzenkov <address@hidden> wrote:
>> 25.11.2016 15:43, Bjørn Forsman пишет:
>>> Hi GRUB developers,
>>>
>>> My name is Bjørn Forsman, first time poster. I've been tasked to make
>>> an xHCI driver for GRUB at my $dayjob. The end goal is to have smart
>>> card (CCID) reader functionality. We already have a working CCID
>>> driver on top of EHCI. I have no prior experience with xHCI (nor EHCI
>>> for that matter), so this is quite the learning experience :-)
>>
>> What platforms do you target?
>
> i386 PC platform.
>

Yes, that is good example of what I mean.

>> Note that on most platforms grub relies on
>> firmware services to access devices, so those direct hardware access
>> drivers simply are not used.
>
> You mean like (USB) disk access? Yes, I recently found out about that.
> I wondered how GRUB was able to boot a Linux system on my USB 3.0
> ports without xhci drivers, but then I learned about 1) all the stuff
> that BIOS does and 2) how GRUB uses the BIOS to access disks
> (${grub_src}/grub-core/disk/i386/pc/biosdisk.c).
>

As soon as you load any driver that touches hardware directly on PC
BIOS platform, this driver disables disk access via biosdisk. Which in
turn means that some features that rely on BIOS become unavailable
(most prominent - chainloading of other loader code).

Effectively this means you switch to different platform that cannot be
called "PC BIOS" anymore.

> For our project, smartcard reader over USB 3.0, we have to implement
> that ourself. BIOS has support for that (AFAICT). (On the other hand,
> looks like UEFI might have something.)
>

Yes, UEFI specification lists smart card access protocol. I do not
know whether this is actually implemented by vendors; but any
implementation for grub should provide hardware independent part and
driver to access card itself.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]