Lines Matching refs:BMC
1 # Management Component Transport Protocol (MCTP) LPC Transport Binding Specification for ASPEED BMC…
6 host and BMC over the LPC bus on ASPEED BMC platforms.
40 byte buffer which is written by the host and read by the BMC.
61 remapping of the LPC firmware cycles onto arbitrary regions of the BMC's
73 flag indicates that a value has been written by the BMC to the corresponding
79 byte buffer which is written by the BMC and read by the host.
84 BMC-controlled, eight-bit register exposed to both the BMC and the host for
102 BMC memory, using the LPC2AHB hardware
104 In order to transfer a packet, either side of the channel (BMC or host) will:
107 - The BMC will perform writes by writing to the memory backing the LPC window
135 (ODR) and the Input Data Register (IDR). The ODR is written by the BMC and read
138 The KCS unit also contains a status register (STR), allowing both host and BMC
158 The window of BMC-memory-backed LPC FW address space has a predefined format,
162 - A receive area for BMC-to-host packets
163 - A transmit area, for host-to-BMC packets
261 memory pressure at the local endpoint. As such while the BMC MUST populate
264 The BMC controls the value of `tx_size`, and MAY choose to adjust it in response
266 the BMC, the host MUST read both `rx_size` and `tx_size` in response to ensure
267 both the BMC and the host have a consistent understanding of the MTU in each
269 value by the BMC as part of finalising the channel, though it is not invalid to
279 The BMC MAY choose to fail channel initialisation if these properties are
291 | 7 (MSB) | Software | BMC Active |
309 #### Host Command to BMC Sequence
311 The host sends commands to the BMC to signal channel initialisation, begin
317 | 2 | The hardware sets IBF, which triggers a BMC interrupt |
318 | 3 | The BMC reads the status register for IBF |
319 | 4 | If IBF is set, the BMC reads the host command from IDR |
322 #### BMC Command to Host Sequence
324 The BMC sends commands to the host to begin transmission of a packet or to
329 | 1 | The BMC writes a command value to ODR |
332 | 4 | If OBF is set, the host reads the BMC command from ODR |
335 #### BMC Status Update Sequence
337 The BMC sends status updates to the host to signal loss of function, loss of
342 | 1 | The BMC writes the status value to the status register |
343 | 2 | The BMC writes the dummy command to ODR |
345 | 4 | If OBF is set, the host reads the BMC command from ODR |
352 Because the LPC FW window is shared between the host and the BMC we need strict
359 - Only the BMC may write to the Rx buffer described in the control area
373 The binding operation is not symmetric as the BMC is the only side that can
377 The sequences below contain steps where the BMC updates the channel status and
378 where commands are sent between the BMC and the host. The act of updating status
382 The packet transmission sequences assume that `BMC Active` and `Channel Active`
385 #### BMC Initialisation Sequence
389 | 1 | The BMC initialises the control area: magic value, BMC versions and buffer parameters |
390 | 2 | The BMC sets the status to `BMC Active` |
396 | 1 | ✓ | ✓ | ✓ | The host waits for the `BMC Active` state …
400 | 5 | ✓ | ✓ | ✓ | The BMC observes the `Initialise` command …
401 | 6 | ✓ | ✓ | ✓ | The BMC calculates and writes `negotiated_ver` …
402 | 7 | | ✓ | ✓ | The BMC calculates the MTUs and updates neither, one or both of `rx_size…
403 | 8 | ✓ | ✓ | ✓ | The BMC sets the status to `Channel Active` …
414 … | The host writes the packet data and medium-specific metadata to its Tx area (BMC Rx area) |
415 … | The host sends the `Tx Begin` command, transferring ownership of its Tx buffer to the BMC |
416 | 5 | ✓ | ✓ | ✓ | The BMC observes the `Tx Begin` command …
417 | 6 | ✓ | ✓ | ✓ | The BMC reads the packet data and medium-specific metadata from the its …
418 | 7 | ✓ | ✓ | ✓ | The BMC sends the `Rx Complete` command, transferring ownership of its R…
420 | 9 | | | ✓ | The BMC validates the provided CRC-32 over the packet data …
422 #### BMC Packet Transmission Sequence
426 | 1 | | | ✓ | The BMC calculates the CRC-32 over the packet data …
427 | 2 | ✓ | ✓ | ✓ | The BMC waits on any previous `Rx Complete` message …
428 | 3 | ✓ | ✓ | ✓ | The BMC writes the packet data and medium-specific metadata to its Tx ar…
429 | 4 | ✓ | ✓ | ✓ | The BMC sends the `Tx Begin` command, transferring ownership of its Tx b…
431 …| The host reads the packet data and medium-specific metadata from the host Rx area (BMC Tx area) |
432 …| The host sends the `Rx Complete` command, transferring ownership of its Rx buffer to the BMC |
433 | 8 | ✓ | ✓ | ✓ | The BMC observes the `Rx Complete` command …
438 On the BMC the initial prototype implementation makes use of the following
462 synchronisation between host and BMC for every byte transferred.
488 access the entire BMC address space, and so introduces security vulnerabilities.