public int getPageSize() {
		return page_size;
	}
https://android.googlesource.com/platform/system/tools/mkbootimg/+/refs/heads/master/include/bootimg/bootimg.h#286
<pre>
The structure of the vendor boot image (introduced with version 3 and
required to be present when a v3 boot image is used) is as follows:

+---------------------+
| vendor boot header  | o pages
+---------------------+
| vendor ramdisk      | p pages
+---------------------+
| dtb                 | q pages
+---------------------+
o = (2112 + page_size - 1) / page_size
p = (vendor_ramdisk_size + page_size - 1) / page_size
q = (dtb_size + page_size - 1) / page_size

0. all entities in the boot image are 4096-byte aligned in flash, all
   entities in the vendor boot image are page_size (determined by the vendor
   and specified in the vendor boot image header) aligned in flash
1. kernel, ramdisk, vendor ramdisk, and DTB are required (size != 0)
2. load the kernel and DTB at the specified physical address (kernel_addr,
   dtb_addr)
3. load the vendor ramdisk at ramdisk_addr
4. load the generic ramdisk immediately following the vendor ramdisk in
   memory
5. set up registers for kernel entry as required by your architecture
6. if the platform has a second stage bootloader jump to it (must be
   contained outside boot and vendor boot partitions), otherwise
   jump to kernel_addr
</pre>
Ghidra/Features/FileFormats/src/main/java/ghidra/file/formats/android/bootimg/VendorBootImageHeaderV3.java