Re: [PATCH RFC] staging: Add driver to communicate with the T2 Security Chip

From: gregkh@xxxxxxxxxxxxxxxxxxx
Date: Sun Mar 09 2025 - 04:55:40 EST


On Sun, Mar 09, 2025 at 09:52:38AM +0100, gregkh@xxxxxxxxxxxxxxxxxxx wrote:
> On Sun, Mar 09, 2025 at 08:40:31AM +0000, Aditya Garg wrote:
> > From: Paul Pawlowski <paul@xxxxxxxx>
> >
> > This patch adds a driver named apple-bce, to add support for the T2
> > Security Chip found on certain Macs.
> >
> > The driver has 3 main components:
> >
> > BCE (Buffer Copy Engine) - this is what the files in the root directory
> > are for. This estabilishes a basic communication channel with the T2.
> > VHCI and Audio both require this component.
>
> So this is a new "bus" type? Or a platform resource? Or something
> else?
>
> > VHCI - this is a virtual USB host controller; keyboard, mouse and
> > other system components are provided by this component (other
> > drivers use this host controller to provide more functionality).
>
> I don't understand, why does a security chip have a USB virtual
> interface in it? What "devices" hang off of it that are found and
> enumerated by the host OS?
>
> And what other drivers use this controller, just normal Linux drivers,
> or vendor-specific ones?
>
> > Audio - a driver for the T2 audio interface, currently only audio
> > output is supported.
>
> Again, is this a platform device or does it sit on the BCE "bus" you
> will create here?

Also, it looks like you are creating some new user/kernel apis here
(i.e. a char device for a USB host controller?) So those need to be
explained a lot as to what they are for and who is using them as I
really don't understand their need, nor know what userspace code
controls them.

thanks,

greg k-h