Lines Matching full:window

71 "window" (which is the LPC -> AHB FW space mapping) that is either a read
72 window or a write window onto the flash.
74 When set for writing, the BMC makes the window point to a chunk of RAM instead.
76 actual flashing from the data in the RAM window.
78 The idea is to have the LPC FW space be routed to an active "window". That
79 window can be a read or a write window. The commands allow to control which
80 window and which offset into the flash it maps.
82 * A read window can be a direct window to the flash controller space (ie.
83 0x3000\_0000) or it can be a window to a RAM image of a flash. It doesn't have
90 * A write window has to be a chunk of BMC memory. The minimum size is not
93 command to map the write window at a given offset of the flash, the BMC should
97 The host can then write to that window directly (updating the BMC memory) and
103 reset to a "window" that is either at the bottom or top of the flash. The
203 CREATE_WRITE_WINDOW and CLOSE_WINDOW commands. Creating a window is how the
205 can only ever have one window that it is accessing at a time - hence forth
206 referred to as the active window.
208 When the active window is a write window the host can perform MARK_WRITE_DIRTY,
236 ### Window Management
238 In order to access flash contents, the host must request a window be opened at
242 address to access this window and the window size. The host must not access
243 past the end of the active window. On returning success to either of the create
244 window commands the BMC must guarantee that the window provided contains data
247 There is only ever one active window which is the window created by the most
249 though there are two types of windows there can still only be one active window
250 irrespective of type. A host must not write to a read window. A host may read
251 from a write window and the BMC must guarantee that the window reflects what
254 A window can be closed by calling CLOSE_WINDOW in which case there is no active
255 window and the host must not access the LPC window after it has been closed.
256 If the host closes an active write window then the BMC must perform an
257 implicit flush. If the host tries to open a new window with an already active
258 window then the active window is closed (and implicitly flushed if it was a
259 write window). If the new window is successfully opened then it is the new
260 active window, if the command fails then there is no active window and the
261 previously active window must no longer be accessed.
264 the active window. The host must not use write management functions (see below)
265 if the active window is a read window or if there is no active window.
272 within the write window it has modified. The host may also use the
273 MARK_WRITE_ERASED command to erase large parts of the active window without the
276 active window marked dirty/erased is only marked for the lifetime of the current
277 active write window and does not persist if the active window is closed either
281 for the active window. The host must not assume that any changes have been
283 active write window was successful or a create window command with an active
284 write window was successful - otherwise consistency between the flash and memory
295 response code. The host may open a write window which contains a locked area
299 of flash which is not clean in the current window must fail with PARAM_ERROR.
314 assume that there is no longer an active window - that is if there was an
315 active window it has been closed by the BMC and if it was a write window
322 contents of the active window could be inconsistent with the contents of flash.
391 WINDOW_ERROR - Command not valid for active window or no active window
392 - Try opening an appropriate window and retrying the command
459 Args 1-2: default read window size (blocks)
460 Args 3-4: default write window size (blocks)
527 Args 0-1: LPC bus address of window (blocks)
530 Args 0-1: LPC bus address of window (blocks)
531 Args 2-3: Window size (blocks)
532 Args 4-5: Flash offset mapped by window (blocks)
542 indicates the actual size of the window. The BMC may
545 active window.
547 The flash offset mapped by the window is an absolute flash
552 The requested window size may be zero. In this case the
553 BMC is free to create any sized window but it must contain
555 window is of course preferred and should correspond to
558 If this command returns successfully then the created window
559 is the active window. If it fails then there is no active
560 window.
574 Closes the active window. Any further access to the LPC bus
575 address specified to address the previously active window will
576 have undefined effects. If the active window is a
577 write window then the BMC must perform an implicit flush.
582 The window is unlikely to be accessed
587 window closed with this flag as first to be
599 Args 0-1: Window offset to mark (blocks)
612 active window (V2)) and a zero offset refers to the first
614 window then the command must not succeed.
637 Flushes any dirty/erased blocks in the active window to
644 exceeds the size of the active window then the command must not
665 Args 0-1: Window offset to erase (blocks)
674 Offset is the offset within the active window to start erasing
675 from (zero refers to the first block of the active window) and
676 number is the number of blocks of the active window to erase
678 the active window then the command must not succeed.
707 erased. If the requested area is within the current window and
743 must assume it has no active window. The host must not assume
746 The host must assume that its active window has been closed and
747 that it no longer has an active window. The host is not
767 The host must not assume that the contents of the active window