X-Git-Url: https://git.wh0rd.org/?p=ICEs.git;a=blobdiff_plain;f=bfin-5761%2Fsuper.i.3;fp=bfin-5761%2Fsuper.i.3;h=0a89a8f8403a6238fef8d4ea0f18b3299e5327ba;hp=0000000000000000000000000000000000000000;hb=0e45bb161e4c1a7d89732e3b1e928f16ae16ef55;hpb=81f80d8c1c9898ae1c26534a3287a47220390f5c diff --git a/bfin-5761/super.i.3 b/bfin-5761/super.i.3 new file mode 100644 index 0000000..0a89a8f --- /dev/null +++ b/bfin-5761/super.i.3 @@ -0,0 +1,31 @@ +typedef unsigned long long u64; +struct super_block { + unsigned long s_blocksize; + struct block_device *s_bdev; +}; +struct buffer_head { + u64 b_blocknr; +}; +struct buffer_head *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, void *data, int silent) +{ + struct buffer_head *bh = 0; + unsigned long blocknr; + int size = 0; + int i; + for (i = 0; i < 1 && !size; i++) + size = flavours[i].test(SYSV_SB(sb), bh); + switch (size) { + case 3: + blocknr = bh->b_blocknr >> 1; + bh = sb_bread(sb, blocknr); + } +}