util/nvmutil: split up copy_gbe

Signed-off-by: Leah Rowe <leah@libreboot.org>
This commit is contained in:
Leah Rowe
2026-03-17 17:29:07 +00:00
parent 60a6d3861c
commit 4688dee7cb
2 changed files with 26 additions and 17 deletions
+25 -17
View File
@@ -560,6 +560,31 @@ xopen(int *fd_ptr, const char *path, int flags, struct stat *st)
*/
void
copy_gbe(void)
{
struct xfile *f = &nv->f;
read_file();
/*
regular operations post-read operate only on the first
8KB, because each GbE part is the first 4KB of each
half of the file.
we no longer care about anything past 8KB, until we get
to writing, at which point we will flush the buffer
again
*/
if (f->gbe_file_size == SIZE_8KB)
return;
x_v_memcpy(f->buf + (unsigned long)GBE_PART_SIZE,
f->buf + (unsigned long)(f->gbe_file_size >> 1),
(unsigned long)GBE_PART_SIZE);
}
void
read_file(void)
{
long _r;
struct stat _st;
@@ -614,23 +639,6 @@ copy_gbe(void)
if (x_i_memcmp(f->buf, f->bufcmp, f->gbe_file_size) != 0)
err(errno, "%s: %s: read contents differ (pre-test)",
f->fname, f->tname);
/*
regular operations post-read operate only on the first
8KB, because each GbE part is the first 4KB of each
half of the file.
we no longer care about anything past 8KB, until we get
to writing, at which point we will flush the buffer
again
*/
if (f->gbe_file_size == SIZE_8KB)
return;
x_v_memcpy(f->buf + (unsigned long)GBE_PART_SIZE,
f->buf + (unsigned long)(f->gbe_file_size >> 1),
(unsigned long)GBE_PART_SIZE);
}
void
+1
View File
@@ -321,6 +321,7 @@ void xopen(int *fd, const char *path, int flags, struct stat *st);
* After this, we can run commands.
*/
void copy_gbe(void);
void read_file(void);
void read_checksums(void);
int good_checksum(unsigned long partnum);