svn commit: r225099 - in projects/ino64/sys/boot: arm/at91/boot2
arm/ixp425/boot2 common i386/boot2 i386/gptboot pc98/boot2
powerpc/boot1.chrp sparc64/boot1
Matthew D Fleming
mdf at FreeBSD.org
Tue Aug 23 00:25:16 UTC 2011
Author: mdf
Date: Tue Aug 23 00:25:15 2011
New Revision: 225099
URL: http://svn.freebsd.org/changeset/base/225099
Log:
boot: Use 32 bit ufs_ino_t to keep boot2 small and prevent 64-bit math
on 32-bit machines.
GSoC r222839.
Code by Gleb Kurtsou.
Modified:
projects/ino64/sys/boot/arm/at91/boot2/boot2.c
projects/ino64/sys/boot/arm/ixp425/boot2/boot2.c
projects/ino64/sys/boot/common/ufsread.c
projects/ino64/sys/boot/i386/boot2/boot2.c
projects/ino64/sys/boot/i386/gptboot/gptboot.c
projects/ino64/sys/boot/pc98/boot2/boot2.c
projects/ino64/sys/boot/powerpc/boot1.chrp/boot1.c
projects/ino64/sys/boot/sparc64/boot1/boot1.c
Modified: projects/ino64/sys/boot/arm/at91/boot2/boot2.c
==============================================================================
--- projects/ino64/sys/boot/arm/at91/boot2/boot2.c Tue Aug 23 00:12:24 2011 (r225098)
+++ projects/ino64/sys/boot/arm/at91/boot2/boot2.c Tue Aug 23 00:25:15 2011 (r225099)
@@ -93,7 +93,6 @@ static int dsk_meta;
static void load(void);
static int parse(void);
-static int xfsread(ino_t, void *, size_t);
static int dskread(void *, unsigned, unsigned);
#ifdef FIXUP_BOOT_DRV
static void fixup_boot_drv(caddr_t, int, int, int);
@@ -109,7 +108,7 @@ static void fixup_boot_drv(caddr_t, int,
#endif
static inline int
-xfsread(ino_t inode, void *buf, size_t nbyte)
+xfsread(ufs_ino_t inode, void *buf, size_t nbyte)
{
if ((size_t)fsread(inode, buf, nbyte) != nbyte)
return -1;
@@ -152,7 +151,7 @@ int
main(void)
{
int autoboot, c = 0;
- ino_t ino;
+ ufs_ino_t ino;
dmadat = (void *)(0x20000000 + (16 << 20));
board_init();
@@ -196,7 +195,7 @@ load(void)
Elf32_Ehdr eh;
static Elf32_Phdr ep[2];
caddr_t p;
- ino_t ino;
+ ufs_ino_t ino;
uint32_t addr;
int i, j;
#ifdef FIXUP_BOOT_DRV
Modified: projects/ino64/sys/boot/arm/ixp425/boot2/boot2.c
==============================================================================
--- projects/ino64/sys/boot/arm/ixp425/boot2/boot2.c Tue Aug 23 00:12:24 2011 (r225098)
+++ projects/ino64/sys/boot/arm/ixp425/boot2/boot2.c Tue Aug 23 00:25:15 2011 (r225099)
@@ -97,7 +97,6 @@ static int disk_layout;
static void load(void);
static int parse(void);
-static int xfsread(ino_t, void *, size_t);
static int dskread(void *, unsigned, unsigned);
static int drvread(void *, unsigned, unsigned);
#ifdef FIXUP_BOOT_DRV
@@ -113,7 +112,7 @@ static void fixup_boot_drv(caddr_t, int,
#endif
static inline int
-xfsread(ino_t inode, void *buf, size_t nbyte)
+xfsread(ufs_ino_t inode, void *buf, size_t nbyte)
{
if ((size_t)fsread(inode, buf, nbyte) != nbyte)
return -1;
@@ -157,7 +156,7 @@ main(void)
{
const char *bt;
int autoboot, c = 0;
- ino_t ino;
+ ufs_ino_t ino;
dmadat = (void *)(0x1c0000);
p_memset((char *)dmadat, 0, 32 * 1024);
@@ -205,7 +204,7 @@ load(void)
Elf32_Ehdr eh;
static Elf32_Phdr ep[2];
caddr_t p;
- ino_t ino;
+ ufs_ino_t ino;
uint32_t addr;
int i, j;
#ifdef FIXUP_BOOT_DRV
Modified: projects/ino64/sys/boot/common/ufsread.c
==============================================================================
--- projects/ino64/sys/boot/common/ufsread.c Tue Aug 23 00:12:24 2011 (r225098)
+++ projects/ino64/sys/boot/common/ufsread.c Tue Aug 23 00:25:15 2011 (r225099)
@@ -58,6 +58,8 @@ __FBSDID("$FreeBSD$");
#define cgbase(fs, c) ((ufs2_daddr_t)((fs)->fs_fpg * (c)))
#endif
+typedef uint32_t ufs_ino_t;
+
/*
* We use 4k `virtual' blocks for filesystem data, whatever the actual
* filesystem block size. FFS blocks are always a multiple of 4k.
@@ -85,14 +87,14 @@ struct dmadat {
};
static struct dmadat *dmadat;
-static ino_t lookup(const char *);
-static ssize_t fsread(ino_t, void *, size_t);
+static ufs_ino_t lookup(const char *);
+static ssize_t fsread(ufs_ino_t, void *, size_t);
static uint8_t ls, dsk_meta;
static uint32_t fs_off;
static __inline uint8_t
-fsfind(const char *name, ino_t * ino)
+fsfind(const char *name, ufs_ino_t * ino)
{
char buf[DEV_BSIZE];
struct direct *d;
@@ -116,12 +118,12 @@ fsfind(const char *name, ino_t * ino)
return 0;
}
-static ino_t
+static ufs_ino_t
lookup(const char *path)
{
char name[MAXNAMLEN + 1];
const char *s;
- ino_t ino;
+ ufs_ino_t ino;
ssize_t n;
uint8_t dt;
@@ -163,7 +165,7 @@ static int sblock_try[] = SBLOCKSEARCH;
#endif
static ssize_t
-fsread(ino_t inode, void *buf, size_t nbyte)
+fsread(ufs_ino_t inode, void *buf, size_t nbyte)
{
#ifndef UFS2_ONLY
static struct ufs1_dinode dp1;
@@ -171,7 +173,7 @@ fsread(ino_t inode, void *buf, size_t nb
#ifndef UFS1_ONLY
static struct ufs2_dinode dp2;
#endif
- static ino_t inomap;
+ static ufs_ino_t inomap;
char *blkbuf;
void *indbuf;
struct fs fs;
Modified: projects/ino64/sys/boot/i386/boot2/boot2.c
==============================================================================
--- projects/ino64/sys/boot/i386/boot2/boot2.c Tue Aug 23 00:12:24 2011 (r225098)
+++ projects/ino64/sys/boot/i386/boot2/boot2.c Tue Aug 23 00:25:15 2011 (r225099)
@@ -140,7 +140,6 @@ static uint8_t ioctrl = IO_KEYBOARD;
void exit(int);
static void load(void);
static int parse(void);
-static int xfsread(ino_t, void *, size_t);
static int dskread(void *, unsigned, unsigned);
static void printf(const char *,...);
static void putchar(int);
@@ -172,7 +171,7 @@ strcmp(const char *s1, const char *s2)
#include "ufsread.c"
static inline int
-xfsread(ino_t inode, void *buf, size_t nbyte)
+xfsread(ufs_ino_t inode, void *buf, size_t nbyte)
{
if ((size_t)fsread(inode, buf, nbyte) != nbyte) {
printf("Invalid %s\n", "format");
@@ -224,7 +223,7 @@ int
main(void)
{
uint8_t autoboot;
- ino_t ino;
+ ufs_ino_t ino;
kname = NULL;
dmadat = (void *)(roundup2(__base + (int32_t)&_end, 0x10000) - __base);
@@ -306,7 +305,7 @@ load(void)
static Elf32_Phdr ep[2];
static Elf32_Shdr es[2];
caddr_t p;
- ino_t ino;
+ ufs_ino_t ino;
uint32_t addr;
int i, j;
Modified: projects/ino64/sys/boot/i386/gptboot/gptboot.c
==============================================================================
--- projects/ino64/sys/boot/i386/gptboot/gptboot.c Tue Aug 23 00:12:24 2011 (r225098)
+++ projects/ino64/sys/boot/i386/gptboot/gptboot.c Tue Aug 23 00:25:15 2011 (r225099)
@@ -89,14 +89,13 @@ static struct bootinfo bootinfo;
void exit(int);
static void load(void);
static int parse(char *, int *);
-static int xfsread(ino_t, void *, size_t);
static int dskread(void *, daddr_t, unsigned);
static uint32_t memsize(void);
#include "ufsread.c"
static inline int
-xfsread(ino_t inode, void *buf, size_t nbyte)
+xfsread(ufs_ino_t inode, void *buf, size_t nbyte)
{
if ((size_t)fsread(inode, buf, nbyte) != nbyte) {
@@ -137,7 +136,7 @@ main(void)
{
char cmd[512], cmdtmp[512];
int autoboot, dskupdated;
- ino_t ino;
+ ufs_ino_t ino;
dmadat = (void *)(roundup2(__base + (int32_t)&_end, 0x10000) - __base);
v86.ctl = V86_FLAGS;
@@ -246,7 +245,7 @@ load(void)
static Elf32_Phdr ep[2];
static Elf32_Shdr es[2];
caddr_t p;
- ino_t ino;
+ ufs_ino_t ino;
uint32_t addr, x;
int fmt, i, j;
Modified: projects/ino64/sys/boot/pc98/boot2/boot2.c
==============================================================================
--- projects/ino64/sys/boot/pc98/boot2/boot2.c Tue Aug 23 00:12:24 2011 (r225098)
+++ projects/ino64/sys/boot/pc98/boot2/boot2.c Tue Aug 23 00:25:15 2011 (r225099)
@@ -142,7 +142,6 @@ static uint8_t ioctrl = IO_KEYBOARD;
void exit(int);
static void load(void);
static int parse(void);
-static int xfsread(ino_t, void *, size_t);
static int dskread(void *, unsigned, unsigned);
static void printf(const char *,...);
static void putchar(int);
@@ -174,7 +173,7 @@ strcmp(const char *s1, const char *s2)
#include "ufsread.c"
static inline int
-xfsread(ino_t inode, void *buf, size_t nbyte)
+xfsread(ufs_ino_t inode, void *buf, size_t nbyte)
{
if ((size_t)fsread(inode, buf, nbyte) != nbyte) {
printf("Invalid %s\n", "format");
@@ -353,7 +352,7 @@ main(void)
int i;
#endif
uint8_t autoboot;
- ino_t ino;
+ ufs_ino_t ino;
dmadat = (void *)(roundup2(__base + (int32_t)&_end, 0x10000) - __base);
v86.ctl = V86_FLAGS;
@@ -444,7 +443,7 @@ load(void)
static Elf32_Phdr ep[2];
static Elf32_Shdr es[2];
caddr_t p;
- ino_t ino;
+ ufs_ino_t ino;
uint32_t addr;
int i, j;
Modified: projects/ino64/sys/boot/powerpc/boot1.chrp/boot1.c
==============================================================================
--- projects/ino64/sys/boot/powerpc/boot1.chrp/boot1.c Tue Aug 23 00:12:24 2011 (r225098)
+++ projects/ino64/sys/boot/powerpc/boot1.chrp/boot1.c Tue Aug 23 00:25:15 2011 (r225099)
@@ -45,7 +45,6 @@ static char bootargs[128];
static ofwh_t bootdev;
static struct fs fs;
-static ino_t inomap;
static char blkbuf[BSIZEMAX];
static unsigned int fsblks;
@@ -490,7 +489,7 @@ load(const char *fname)
Elf32_Ehdr eh;
Elf32_Phdr ph;
caddr_t p;
- ino_t ino;
+ ufs_ino_t ino;
int i;
if ((ino = lookup(fname)) == 0) {
Modified: projects/ino64/sys/boot/sparc64/boot1/boot1.c
==============================================================================
--- projects/ino64/sys/boot/sparc64/boot1/boot1.c Tue Aug 23 00:12:24 2011 (r225098)
+++ projects/ino64/sys/boot/sparc64/boot1/boot1.c Tue Aug 23 00:25:15 2011 (r225099)
@@ -385,7 +385,7 @@ load(const char *fname)
Elf64_Ehdr eh;
Elf64_Phdr ph;
caddr_t p;
- ino_t ino;
+ ufs_ino_t ino;
int i;
if ((ino = lookup(fname)) == 0) {
More information about the svn-src-projects
mailing list