vpnor copy_flash: remove incorrect size check

Remove a read window size check, which essentially mandated that a pnor
partition is at least as large as the window size.

To elaborate, the current mbox implementation assumes a read window size
of 1M. This is as per protocol; a host can even send a read size of 0,
the BMC implementation is responsible for reading what's valid and fits
in the window, and inform host about the size read. There was a check
which would see that a read size of 1M past the requested flash offset
is larger than an actual partition file size (for partitions < 1M), and
would fail the read request. Instead, in such a case, read the entire
partition and inform host about the size read.

Change-Id: I07d4b24d7eb31c5473c4142e96743d8f8d0e08a2
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
1 file changed
tree: 63293b61f9d344de88c6b65487abf758cd3e7716
  1. Documentation/
  2. m4/
  3. test/
  4. .gitignore
  5. bootstrap.sh
  6. common.c
  7. common.h
  8. configure.ac
  9. dbus.h
  10. LICENSE
  11. Makefile.am
  12. mbox.h
  13. mboxctl.c
  14. mboxd.c
  15. mboxd_dbus.c
  16. mboxd_dbus.h
  17. mboxd_flash.h
  18. mboxd_flash_physical.c
  19. mboxd_flash_virtual.cpp
  20. mboxd_lpc.c
  21. mboxd_lpc.h
  22. mboxd_lpc_physical.c
  23. mboxd_lpc_virtual.cpp
  24. mboxd_msg.c
  25. mboxd_msg.h
  26. mboxd_pnor_partition_table.cpp
  27. mboxd_pnor_partition_table.h
  28. mboxd_windows.c
  29. mboxd_windows.h
  30. mtd.c
  31. pnor_partition.cpp
  32. pnor_partition.hpp
  33. pnor_partition_defs.h
  34. pnor_partition_table.cpp
  35. pnor_partition_table.hpp
  36. README.md
README.md

Copyright 2017 IBM

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

MBOX

This repo contains the protocol definition for the host to BMC mailbox communication specification which can be found in Documentation/mbox_procotol.md.

There is also a reference implementation of a BMC mailbox daemon, the details of which can be found in Documentation/mboxd.md.

Finally there is also an implementation of a mailbox daemon control program, the details of which can be found in Documentation/mboxctl.md.