# F0E9D620-3E9F-4F6B-8F26-6214FEAB6690

| Index | Module | Size | Phase |
|-------|--------|------|-------|
| 285 | F0E9D620-3E9F-4F6B-8F26-6214FEAB6690 | 309,856 bytes (302.6 KB) | PEI/DXE |

## Overview

UEFI network stack PEI/DXE module providing UNDI (Universal Network Driver Interface) support for USB-based network controllers. The module entry initializes EFI tables, locates protocols, and installs a protocol teardown handler. It includes URL parameter parsing, TLV (Type-Length-Value) construction, memory pool management, and NVM-based configuration hashing for persistent network device settings.

## Key Functions

- **ModuleEntryPoint** -- EarlyInit then DxeDriverEntryPoint; installs ProtocolTeardown callback
- **EarlyInit** -- Saves system table pointers globally; locates base protocols
- **DxeDriverEntryPoint** -- Main driver init; validates hardware signature (0x103C) and dispatches
- **ProtocolBootCallback** -- Boot-time protocol callback handler
- **ProtocolTeardown** -- Protocol teardown and cleanup routine
- **UndiChildProtocolAlloc** -- Allocates UNDI child protocol structures
- **UndiChildProtocolRegister** -- Registers child protocol instances
- **UtlMemAllocStruct** / **UtlMemAlloc** / **UtlMemFree** / **UtlMemDup** -- Memory allocation utilities
- **UtlStrCatMemPool** / **UtlStrStrWide** -- String manipulation with memory pool
- **UtlParseUrlParam** / **UtlParseUrlStr** -- URL parameter parsing
- **UtlBuildTlv** -- Type-Length-Value binary encoding
- **UtlConfigHash** / **UtlConfigCalcHash** -- Configuration data hashing for integrity
- **UtlConfigSaveToNvm** -- Saves configuration data to NVM
- **UtlInstallProtocol** -- Protocol installation helper

## Dependencies

UEFI Boot Services, UEFI Runtime Services, UNDI Protocol, USB Protocol

## Platform

Lenovo HR650X (Purley/LBG-PCH), X64