Displaying 15 results from an estimated 15 matches for "gpt_part".
2010 Jul 30
4
chain.c: fix v2 for public indexes in iterators (for master and disklib)
>From the earlier patches - that simple fix for indexes not counting non-data
partitions in gpt and mbr cases. Patches don't touch any other parts of the
code at this stage - bigger stuff later for disklib as we agreed - but this is
potentially useful right now.
Michal Soltys (1):
chain.c: fix public index value in mbr and gpt iterators
2015 Sep 24
0
[PATCH] com32/disk: add UEFI support
...nst char disk_gpt_sig_magic[] = "EFI PART";
+/* common.c */
+extern void disk_dos_part_dump(const struct disk_dos_part_entry *const part);
+extern void guid_to_str(char *buf, const struct guid *const id);
+extern int str_to_guid(const char *buf, struct guid *const id);
+extern void disk_gpt_part_dump(const struct disk_gpt_part_entry *const
+ gpt_part);
+
+/* disk.c */
+#ifndef SYSLINUX_EFI
extern int disk_int13_retry(const com32sys_t * inreg, com32sys_t * outreg);
+#endif
+
extern int disk_get_params(int disk, struct disk_info *const diskinfo);
extern void...
2010 Jul 23
0
[PATCH] chain.c: gpt's index/private.index mismatch fix, cosmetic iterator changes
...r.parent);
@@ -629,7 +624,6 @@ static struct disk_part_iter *next_mbr_part(struct disk_part_iter *part)
part->record = table + part->private.mbr_index;
return part;
- free(ebr_part);
err_alloc:
free(part->block);
@@ -869,7 +863,7 @@ static struct disk_part_iter *next_gpt_part(struct disk_part_iter *part)
part->private.gpt.part_guid = &gpt_part->uid;
part->private.gpt.part_label = gpt_part->name;
/* Update our index */
- part->index++;
+ part->index = part->private.gpt.index + 1;
gpt_part_dump(gpt_part);
/* In a G...
2014 Nov 22
1
Get rid of printf format warning format ‘%llx’ expects type ‘long long unsigned int’, but argument 2 has type ‘uint64_t’
...5a99bb4..d5f4489 100644
--- a/com32/lib/syslinux/disk.c
+++ b/com32/lib/syslinux/disk.c
@@ -35,6 +35,7 @@
#include <core.h>
#include <dprintf.h>
+#include <inttypes.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -528,9 +529,9 @@ void disk_gpt_part_dump(const struct disk_gpt_part_entry *const gpt_part)
char guid_text[37];
dprintf("----------------------------------\n"
- "GPT part. LBA first __ : 0x%.16llx\n"
- "GPT part. LBA last ___ : 0x%.16llx\n"
- "GPT part. attribs ____ : 0x%.16ll...
2010 Aug 08
1
PATCH/RFC chain.c: update iterator code, yank from chain.c, move both to separate directory
1) code split and move
Iterator related functionality is yanked from chain.c and moved to
iterator.{c,h}. Both are moved to com32/chain and this way chain.c is ready
for further splitting.
Alternatively, partiter could be moved to com32/lib at any time in the future.
It's potentially useful for other modules (e.g. if someone wanted to code
partition dumper or editor).
2) Iterator updates
2013 Oct 18
0
[RFC/PATCH 1/3] Move partiter from com32/chain to com32/lib/syslinux
...- iter->type = typedos;
- return 0;
-bail:
- pi_dtor_(iter);
- return -1;
-}
-
-/* pi_gpt_ctor() - GPT iterator specific initialization */
-static int pi_gpt_ctor(struct part_iter *iter,
- const struct disk_info *di, int flags,
- const struct disk_gpt_header *gpth, const struct disk_gpt_part_entry *gptl
-)
-{
- uint64_t siz;
-
- if (pi_ctor(iter, di, flags))
- return -1;
-
- siz = (uint64_t)gpth->part_count * gpth->part_size;
-
- if (!(iter->data = malloc((size_t)siz))) {
- critm();
- goto bail;
- }
-
- memcpy(iter->data, gptl, (size_t)siz);
-
- iter-&g...
2015 Jul 22
0
[PULL 1/8] Move partiter from com32/chain to com32/lib/syslinux
...- iter->type = typedos;
- return 0;
-bail:
- pi_dtor_(iter);
- return -1;
-}
-
-/* pi_gpt_ctor() - GPT iterator specific initialization */
-static int pi_gpt_ctor(struct part_iter *iter,
- const struct disk_info *di, int flags,
- const struct disk_gpt_header *gpth, const struct disk_gpt_part_entry *gptl
-)
-{
- uint64_t siz;
-
- if (pi_ctor(iter, di, flags))
- return -1;
-
- siz = (uint64_t)gpth->part_count * gpth->part_size;
-
- if (!(iter->data = malloc((size_t)siz))) {
- critm();
- goto bail;
- }
-
- memcpy(iter->data, gptl, (size_t)siz);
-
- iter-&g...
2010 Jul 24
0
[PATCH] chain.c: allocation fixes
...igger an initial EBR load */
@@ -625,9 +639,7 @@ static struct disk_part_iter *next_mbr_part(struct disk_part_iter *part)
return part;
err_alloc:
-
- free(part->block);
- free(part);
+ free_iter(part);
return NULL;
}
@@ -870,9 +882,7 @@ static struct disk_part_iter *next_gpt_part(struct disk_part_iter *part)
return part;
err_last:
- free(part->block);
- free(part);
-
+ free_iter(part);
return NULL;
}
@@ -889,6 +899,7 @@ static struct disk_part_iter *get_first_partition(struct disk_part_iter *part)
error("Count not allocate partition iterat...
2009 Jan 28
2
7.1 new install halts on BTX error
I upgraded my 7.0 system to 7.1-RELEASE with freebsd-update only to find
that it no longer boots correctly, instead crashing with a BTX backtrace.
If I break to the loader prompt and use 'ls /boot', I also get a
backtrace.
A new install of 7.1 on this hardware using a separate SCSI card and drive
array also leads to a BTX backtrace. I have copied this below as the first
(most
2012 Nov 06
50
chain.c32 (and partiter) updates v2
This is a bit updated set of chain.c32 changes that simplifies a few things
(and in partiter part), fixes few minor issues and adds a few new features.
Details are in the following commits, below is the summary and pull details at
the end.
Shao - any chance to peek over them ? Most of those are relatively simple
changes and well tested, though of course something might have slipped my
attention.
2012 Aug 20
13
[PATCH 00/12] Multidisk support
Hello,
the following patches should get multidisk access working.
The syntax accepted is the following:
(hdx,y)/path/to/file
where x is the disk number and start at 0 and the y is the partition number starting at 1. So (hd0,1) is the first partition of the first disk.
the other accepted syntax is using MBR's 32 bits disk signature so for example:
(mbr:0x12345678,2)/foo/bar
would address
2010 Jul 26
5
[RFC/PATCH] New chainloading functionality
This patch introduces extra functionality to chain.c, mainly with reference to
BPB adjustments, but not only that. It expects 3 small patches I sent earlier
(they are included for easy reference, patches 1-3/4).
The changes introduced are:
1) file and boot sector use separate options to control load address and jump
address (if applicable). Options are as described below:
*
2015 Jul 22
13
[PULL 0/8] MultiFS suppport for BIOS and EFI
So last week I was wondering if XFS was still working -- even with its
last on-disk structure changes -- and it _suprisingly_ worked as
expected. Right, now I can finally get rid of GRUB and use Syslinux to
boot my Linux on EFI from a rootfs with xfs. Shit, I have two
partitions (the first one being the required ESP) so there is no way to
access the other partitions since because Syslinux does not
2013 Sep 06
1
[PATCH 2/2 v2] com32/disk: Improve flow at disk_write_sectors and disk_read_sectors.
...nt8_t);
+};
+
+enum disk_op_codes {
+ EBIOS_READ_CODE = 0x42, /* Extended read */
+ EBIOS_WRITE_CODE = 0x43, /* Extended write */
+ CHS_READ_CODE = 0x02,
+ CHS_WRITE_CODE = 0x03,
+};
+
struct disk_ebios_dapa {
uint16_t len;
uint16_t count;
@@ -177,4 +190,9 @@ extern void disk_gpt_part_dump(const struct disk_gpt_part_entry *const
gpt_part);
extern void disk_gpt_header_dump(const struct disk_gpt_header *const gpt);
+static inline void *ebios_disk_op(const struct disk_info *const,
+ com32sys_t *, uint64_t, uint8_t);
+static inline void *chs_disk_op(const struct...
2013 Sep 06
1
[PATCH 2/2] com32/disk: Improve flow at disk_write_sectors and disk_read_sectors.
...uint32_t spt;
+ struct disk_ops ops;
+};
+
+enum disk_op_codes {
+ EBIOS_READ_CODE = 0x42, /* Extended read */
+ EBIOS_WRITE_CODE = 0x43, /* Extended write */
+ CHS_READ_CODE = 0x02,
+ CHS_WRITE_CODE = 0x03,
};
struct disk_ebios_dapa {
@@ -177,4 +193,9 @@ extern void disk_gpt_part_dump(const struct disk_gpt_part_entry *const
gpt_part);
extern void disk_gpt_header_dump(const struct disk_gpt_header *const gpt);
+static void *ebios_disk_op(const struct disk_info *const,
+ com32sys_t *, uint64_t, uint8_t);
+static void *chs_disk_op(const struct disk_info *con...