Write embedding zone using Reed-Solomon.
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Wed, 29 Sep 2010 19:33:38 +0000 (21:33 +0200)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Wed, 29 Sep 2010 19:33:38 +0000 (21:33 +0200)
commitb65830fae1be85c0dc65e8fccde64f6e28686a50
treebfe512b398abc47948c3267372e19a10fba863cd
parent0b4b227faecce80c0d8a5406c82df59c45bce754
parent4e2b20a79afe61df9901e943a453624f2453018f
Write embedding zone using Reed-Solomon.

* Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
* grub-core/Makefile.am (rs_decoder.S): New target.
(kern/i386/pc/startup.S): Depend on rs_decoder.S.
* grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
(multiboot): Move to RS part.
(post_reed_solomon): New label.
(grub_boot_drive): Move to non-RS part since it's modified in memory
on boot.
Include rs_decoder.S.
* grub-core/lib/reed_solomon.c: New file.
* include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
New definition.
(GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
(GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
(GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
* include/grub/partition.h (grub_partition_map): Change prototype of
embed to allow returning additional sectors.
* include/grub/reed_solomon.h: New file.
* util/grub-setup.c (setup): Handle Reed-Solomon.
ChangeLog
Makefile.util.def
grub-core/Makefile.am
include/grub/offsets.h