Menu
Sign In Search Podcasts Charts People & Topics Add Podcast API Pricing

Robert Mustacchi

👤 Person
480 total appearances

Appearances Over Time

Podcast Appearances

Oxide and Friends
Holistic Engineering with Robert Mustacchi

it's hard to actually test reset in a bajillion different ways. Or what does it mean to do a warm reset when, you know, you've been up for two years versus you've been up for 30 seconds versus, you know, I've hot swapped all these drives upteen times versus, yeah, I've done nothing because I've just been up for, you know, two minutes.

Oxide and Friends
Holistic Engineering with Robert Mustacchi

it's hard to actually test reset in a bajillion different ways. Or what does it mean to do a warm reset when, you know, you've been up for two years versus you've been up for 30 seconds versus, you know, I've hot swapped all these drives upteen times versus, yeah, I've done nothing because I've just been up for, you know, two minutes.

Oxide and Friends
Holistic Engineering with Robert Mustacchi

So it really got us out of that problem once we ironed out some of the bugs.

Oxide and Friends
Holistic Engineering with Robert Mustacchi

So it really got us out of that problem once we ironed out some of the bugs.

Oxide and Friends
Holistic Engineering with Robert Mustacchi

Yeah, I'd say it's even more challenging as one that we, I mean, at least at the time, there was really no good way for me to build or run or instrument. So that was really all about code inspection.

Oxide and Friends
Holistic Engineering with Robert Mustacchi

Yeah, I'd say it's even more challenging as one that we, I mean, at least at the time, there was really no good way for me to build or run or instrument. So that was really all about code inspection.

Oxide and Friends
Holistic Engineering with Robert Mustacchi

Yeah, Adam, that's a good question. So AGESA is effectively one part of AMD's boot software. So it contains both the... both all the kind of binary blobs at the PSP or other kind of hidden cores run, but also really contains a whole lot of all of the x86 initialization things. So how do memory mappings get set up? How do various... pieces of the data fabric of CPU initialization.

Oxide and Friends
Holistic Engineering with Robert Mustacchi

Yeah, Adam, that's a good question. So AGESA is effectively one part of AMD's boot software. So it contains both the... both all the kind of binary blobs at the PSP or other kind of hidden cores run, but also really contains a whole lot of all of the x86 initialization things. So how do memory mappings get set up? How do various... pieces of the data fabric of CPU initialization.

Oxide and Friends
Holistic Engineering with Robert Mustacchi

Turning on and when you start, there's only one CPU turned on. And even though operating systems have this traditional IPI dance, there's a whole bunch of other stuff you have to do. in advance to start this. The AMD SoCs, like others, has 128 PCIe lanes. But those PCIe lanes can be carved up into arbitrary different slots, depending on what board you have. So how do you communicate that?

Oxide and Friends
Holistic Engineering with Robert Mustacchi

Turning on and when you start, there's only one CPU turned on. And even though operating systems have this traditional IPI dance, there's a whole bunch of other stuff you have to do. in advance to start this. The AMD SoCs, like others, has 128 PCIe lanes. But those PCIe lanes can be carved up into arbitrary different slots, depending on what board you have. So how do you communicate that?

Oxide and Friends
Holistic Engineering with Robert Mustacchi

So AGISA, which looks like, what does it stand for? AMD Generic Encapsulated Software Architecture. Only one of the letters is an acronym. So that whole bit, is designed and ties into a separate, these days, UEFI code base. So it in and of itself is not the complete picture.

Oxide and Friends
Holistic Engineering with Robert Mustacchi

So AGISA, which looks like, what does it stand for? AMD Generic Encapsulated Software Architecture. Only one of the letters is an acronym. So that whole bit, is designed and ties into a separate, these days, UEFI code base. So it in and of itself is not the complete picture.

Oxide and Friends
Holistic Engineering with Robert Mustacchi

It's built up as a series of UEFI modules that runs in the PEI and Dixie phases, which are different phases of boot, and still means that you need a Tiano core or other UEFI implementation to kind of fit alongside it. It will do anything and everything from setting up I2C devices to... That's where SMBIOS tables are created.

Oxide and Friends
Holistic Engineering with Robert Mustacchi

It's built up as a series of UEFI modules that runs in the PEI and Dixie phases, which are different phases of boot, and still means that you need a Tiano core or other UEFI implementation to kind of fit alongside it. It will do anything and everything from setting up I2C devices to... That's where SMBIOS tables are created.

Oxide and Friends
Holistic Engineering with Robert Mustacchi

ACPI tables are created there too. And just a whole bunch of stuff. So yeah, that was an effort where...

Oxide and Friends
Holistic Engineering with Robert Mustacchi

ACPI tables are created there too. And just a whole bunch of stuff. So yeah, that was an effort where...

Oxide and Friends
Holistic Engineering with Robert Mustacchi

Oh yeah. So as I said, these are all UEFI is designed in a series of different modules. And they all, basically rely on different callbacks firing. So because these modules are coming up and loading in probably somewhat defined but arbitrary orders, they'll often wait.

Oxide and Friends
Holistic Engineering with Robert Mustacchi

Oh yeah. So as I said, these are all UEFI is designed in a series of different modules. And they all, basically rely on different callbacks firing. So because these modules are coming up and loading in probably somewhat defined but arbitrary orders, they'll often wait.

Oxide and Friends
Holistic Engineering with Robert Mustacchi

So before I begin, the PCIe module or the MBIO module might start loading, but it's going to register a callback that fires when all these different PPIs, which is a UEFI term, are provided. Lots of them. And there's not like a... Or at least the things we had access to, there was no clear map of like, this is the expected ordering of these different... these different sets of services.

Oxide and Friends
Holistic Engineering with Robert Mustacchi

So before I begin, the PCIe module or the MBIO module might start loading, but it's going to register a callback that fires when all these different PPIs, which is a UEFI term, are provided. Lots of them. And there's not like a... Or at least the things we had access to, there was no clear map of like, this is the expected ordering of these different... these different sets of services.