cbfstool: add --xip support to add-stage for x86

Instead of going through the locate then add-stage
dance while linking romstage twice allow for adding romstage
with --xip flags to perform the relocation while adding it
into CBFS. The -P (page-size) and -a (alignment) parameters
were added as well so one could specify the necessary
parameters for x86 romstage.

BUG=chrome-os-partner:44827
BRANCH=None
TEST=Built and booted on glados.

Change-Id: I585619886f257e35f00961a1574009a51c28ff2b
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: http://review.coreboot.org/11669
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
diff --git a/util/cbfstool/common.h b/util/cbfstool/common.h
index 4a97fed..8073d12 100644
--- a/util/cbfstool/common.h
+++ b/util/cbfstool/common.h
@@ -184,6 +184,9 @@
 int parse_elf_to_stage(const struct buffer *input, struct buffer *output,
 		       enum comp_algo algo, uint32_t *location,
 		       const char *ignore_section);
+/* location is TOP aligned. */
+int parse_elf_to_xip_stage(const struct buffer *input, struct buffer *output,
+				uint32_t *location, const char *ignore_section);
 
 void print_supported_filetypes(void);