diff options
author | Ian Lepore <ian@FreeBSD.org> | 2018-11-28 18:09:42 +0000 |
---|---|---|
committer | Ian Lepore <ian@FreeBSD.org> | 2018-11-28 18:09:42 +0000 |
commit | b92c2c907e20c633a75eff2edfd56ffe0dba4690 (patch) | |
tree | 4816f0c35d75dbfa4db475017519783fdfda15d5 /stand/i386/zfsboot | |
parent | e8e0ecb9698d4bb7b25fe7e85436e978ae7fba3f (diff) | |
download | src-b92c2c907e20c633a75eff2edfd56ffe0dba4690.tar.gz src-b92c2c907e20c633a75eff2edfd56ffe0dba4690.zip |
Add comments describing the bootargs handoff between loader(8) and gptboot
or zfsboot, when loader(8) is the BTX loader. No functional changes.
Notes
Notes:
svn path=/head/; revision=341160
Diffstat (limited to 'stand/i386/zfsboot')
-rw-r--r-- | stand/i386/zfsboot/zfsboot.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/stand/i386/zfsboot/zfsboot.c b/stand/i386/zfsboot/zfsboot.c index e88527757158..2369276f5e69 100644 --- a/stand/i386/zfsboot/zfsboot.c +++ b/stand/i386/zfsboot/zfsboot.c @@ -1005,6 +1005,11 @@ load(void) zfsargs.primary_vdev = primary_vdev->v_guid; else printf("failed to detect primary vdev\n"); + /* + * Note that the zfsargs struct is passed by value, not by pointer. Code in + * btxldr.S copies the values from the entry stack to a fixed location + * within loader(8) at startup due to the presence of KARGS_FLAGS_EXTARG. + */ __exec((caddr_t)addr, RB_BOOTINFO | (opts & RBX_MASK), bootdev, KARGS_FLAGS_ZFS | KARGS_FLAGS_EXTARG, |