X-Git-Url: https://git.wh0rd.org/?p=ICEs.git;a=blobdiff_plain;f=bfin-5761%2Fsuper.i.4;fp=bfin-5761%2Fsuper.i.4;h=95392af99ffc5dc3bdfa2dba4d08a91107df2ed7;hp=0000000000000000000000000000000000000000;hb=0e45bb161e4c1a7d89732e3b1e928f16ae16ef55;hpb=81f80d8c1c9898ae1c26534a3287a47220390f5c diff --git a/bfin-5761/super.i.4 b/bfin-5761/super.i.4 new file mode 100644 index 0000000..95392af --- /dev/null +++ b/bfin-5761/super.i.4 @@ -0,0 +1,26 @@ +typedef unsigned long long u64; +struct super_block { + unsigned long s_blocksize; + struct block_device *s_bdev; +}; +struct buffer_head { + u64 b_blocknr; +}; +int sb_bread(struct super_block *sb, u64 block) +{ + return __bread(sb->s_bdev, block, sb->s_blocksize); +} + +struct { + int (*test) (struct sysv_sb_info *, struct buffer_head *); +} flavours[]; +int sysv_fill_super(struct super_block *sb) +{ + struct buffer_head *bh = 0; + unsigned long blocknr; + switch (test(sb, bh)) { + case 3: + blocknr = bh->b_blocknr >> 1; + bh = sb_bread(sb, blocknr); + } +}