summaryrefslogtreecommitdiffstats
path: root/mboxd_flash.c
Commit message (Collapse)AuthorAgeFilesLines
* vpnor: Isolate relevant code in vpnor directoryAndrew Jeffery2018-04-041-0/+299
| | | | | | | | | | | | This is prepatory work for introducing more vpnor-specific behaviours to window handling. We will be introducing more objects to link, in order to hook some of the window command handlers. This change takes the opportunity to revert back to the upstream names for some of the original C files. Change-Id: I6b67ae466a2695054035e65ba752881be9c32d1a Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
* vpnor: implement init_flash_devDeepak Kodihalli2017-07-181-232/+0
| | | | | | | | | | | | | | The vpnor version needs to set the erase block size as 4K. That's the size hostboot expects in the FFS structure. This change also requires moving code from mboxd_flash.c to mboxd_flash_physical.c, else there will be 3 symbols per flash function. It should suffice to just have mboxd_flash_physical.c and mboxd_flash_virtual.cpp. Change-Id: I35442a0c1dbee7f66b278cbf094be78e870b6c86 Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
* Implement write flash function for vpnorRatan Gupta2017-06-291-40/+0
| | | | | | | | | Opens the partition file from the vpnor, Memory map to it and then copy the given data from the reserved memory area to the vpnor. Change-Id: I29f44482155d890622221695deee255b222e9a49 Signed-off-by: Ratan Gupta <ratagupt@in.ibm.com>
* msg: handle partition table read requestDeepak Kodihalli2017-06-271-40/+0
| | | | | | | | | | Map host's request to read the flash at offset less than the partition table length as a request to read the pnor partition table. Resolves openbmc/openbmc#1439. Change-Id: I0f5b98f073d983b0d4749b0aba84b37d7f42f884 Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
* mboxd: Introduce a new DEBUG log levelSuraj Jitindar Singh2017-05-041-5/+12
| | | | | | | | | | | | | | | | | | | | | | | Currently there is no output on the console unless -v is specified on the command line which enables error output. A second -v will provide info output. We probably want error output irrespective of whether a -v was given on the command line because people generally want to know why their program stopped working. Make error output unconditional. A single -v will give minimal informational output which is a good level to see what the daemon is doing without barfing all over the console. A second -v will enable debug output which will print highly verbose information which will be useful for debugging. Probably don't enable this under normal circumstances. Signed-off-by: Suraj Jitindar Singh <sjitindarsingh@gmail.com> Change-Id: I3da25f7e4e9e976c17389fcceb1d85ef98de7e0a
* mboxd_flash: strerror() requires errno for argumentAndrew Jeffery2017-04-261-2/+2
| | | | | Change-Id: I68381ed74ab8b75dac195b53d61fd8ccabcf6fb1 Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
* mboxd_flash: Initialise flash size if necessaryAndrew Jeffery2017-04-261-0/+25
| | | | | Change-Id: I0587088f72df0664e03977c704da042314580f8a Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
* mboxd_flash: Fix infinite loop on EOFAndrew Jeffery2017-04-261-4/+6
| | | | | Change-Id: If3684d8c386dd41ce7f7a40353e55267e13d5b07 Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
* mboxd: Update mboxd to implement protocol V2 and add dbus supportSuraj Jitindar Singh2017-04-111-0/+278
Version 2 of the mbox protocol contains a few changes such as: - All sizes are in block size - Adds an erase command - Adds new response codes - Adds new BMC events - Open windows commands now take a size directive Update the mailbox daemon to support version 2 of the protocol which includes implementing all of the V2 functionality. Also entirely refactor the mboxd.c code to make it more modular improving readability and maintainability. At the same time improve the functionality by adding: - Multiple windows in the daemon (still only one active window) to cache flash contents - Implement a dbus interface to allow interaction with the daemon - Handle sigterm and sigint and terminate cleanly The previous implementation utilised the entire reserved memory region. Update the daemon so that on the command line the number of windows and the size of each which the reserved memory region will be split into can be specified. The reserved memory region is then divided between the windows, however there can still only be one "active" window at a time. The daemon uses these windows to cache the flash contents meaning the flash doesn't have to be copied when the host requests access assuming the daemon already has a copy. A dbus interface is added so that commands can be sent to the daemon to control it's operation from the bmc. These include suspending and resuming the daemon to synchronise flash access, telling the daemon to point the lpc mapping back to flash and telling the daemon when the flash has been modified out from under it. Signed-off-by: Suraj Jitindar Singh <sjitindarsingh@gmail.com> Change-Id: I10be01a395c2bec437cf2c825fdd144580b60dbc
OpenPOWER on IntegriCloud