VisionFive2 Linux kernel

StarFive Tech Linux Kernel for VisionFive (JH7110) boards (mirror)

More than 9999 Commits   32 Branches   54 Tags
b24413180f560 (Greg Kroah-Hartman  2017-11-01 15:07:57 +0100   1) /* SPDX-License-Identifier: GPL-2.0 */
a089221c5e8a5 (Andrew Morton       2005-06-21 17:16:48 -0700   2) /*
a089221c5e8a5 (Andrew Morton       2005-06-21 17:16:48 -0700   3)  * These structs are used by the system-use-sharing protocol, in which the
a089221c5e8a5 (Andrew Morton       2005-06-21 17:16:48 -0700   4)  * Rock Ridge extensions are embedded.  It is quite possible that other
a089221c5e8a5 (Andrew Morton       2005-06-21 17:16:48 -0700   5)  * extensions are present on the disk, and this is fine as long as they
a089221c5e8a5 (Andrew Morton       2005-06-21 17:16:48 -0700   6)  * all use SUSP
a089221c5e8a5 (Andrew Morton       2005-06-21 17:16:48 -0700   7)  */
a089221c5e8a5 (Andrew Morton       2005-06-21 17:16:48 -0700   8) 
642217c17b9a5 (Andrew Morton       2005-06-21 17:16:51 -0700   9) struct SU_SP_s {
cb91775711b2f (Arnd Bergmann       2017-10-19 16:47:49 +0200  10) 	__u8 magic[2];
cb91775711b2f (Arnd Bergmann       2017-10-19 16:47:49 +0200  11) 	__u8 skip;
a089221c5e8a5 (Andrew Morton       2005-06-21 17:16:48 -0700  12) } __attribute__ ((packed));
a089221c5e8a5 (Andrew Morton       2005-06-21 17:16:48 -0700  13) 
642217c17b9a5 (Andrew Morton       2005-06-21 17:16:51 -0700  14) struct SU_CE_s {
cb91775711b2f (Arnd Bergmann       2017-10-19 16:47:49 +0200  15) 	__u8 extent[8];
cb91775711b2f (Arnd Bergmann       2017-10-19 16:47:49 +0200  16) 	__u8 offset[8];
cb91775711b2f (Arnd Bergmann       2017-10-19 16:47:49 +0200  17) 	__u8 size[8];
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700  18) };
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700  19) 
642217c17b9a5 (Andrew Morton       2005-06-21 17:16:51 -0700  20) struct SU_ER_s {
cb91775711b2f (Arnd Bergmann       2017-10-19 16:47:49 +0200  21) 	__u8 len_id;
cb91775711b2f (Arnd Bergmann       2017-10-19 16:47:49 +0200  22) 	__u8 len_des;
cb91775711b2f (Arnd Bergmann       2017-10-19 16:47:49 +0200  23) 	__u8 len_src;
cb91775711b2f (Arnd Bergmann       2017-10-19 16:47:49 +0200  24) 	__u8 ext_ver;
5e01fdff04b7f (Gustavo A. R. Silva 2020-08-31 08:25:42 -0500  25) 	__u8 data[];
a089221c5e8a5 (Andrew Morton       2005-06-21 17:16:48 -0700  26) } __attribute__ ((packed));
a089221c5e8a5 (Andrew Morton       2005-06-21 17:16:48 -0700  27) 
642217c17b9a5 (Andrew Morton       2005-06-21 17:16:51 -0700  28) struct RR_RR_s {
cb91775711b2f (Arnd Bergmann       2017-10-19 16:47:49 +0200  29) 	__u8 flags[1];
a089221c5e8a5 (Andrew Morton       2005-06-21 17:16:48 -0700  30) } __attribute__ ((packed));
a089221c5e8a5 (Andrew Morton       2005-06-21 17:16:48 -0700  31) 
642217c17b9a5 (Andrew Morton       2005-06-21 17:16:51 -0700  32) struct RR_PX_s {
cb91775711b2f (Arnd Bergmann       2017-10-19 16:47:49 +0200  33) 	__u8 mode[8];
cb91775711b2f (Arnd Bergmann       2017-10-19 16:47:49 +0200  34) 	__u8 n_links[8];
cb91775711b2f (Arnd Bergmann       2017-10-19 16:47:49 +0200  35) 	__u8 uid[8];
cb91775711b2f (Arnd Bergmann       2017-10-19 16:47:49 +0200  36) 	__u8 gid[8];
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700  37) };
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700  38) 
642217c17b9a5 (Andrew Morton       2005-06-21 17:16:51 -0700  39) struct RR_PN_s {
cb91775711b2f (Arnd Bergmann       2017-10-19 16:47:49 +0200  40) 	__u8 dev_high[8];
cb91775711b2f (Arnd Bergmann       2017-10-19 16:47:49 +0200  41) 	__u8 dev_low[8];
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700  42) };
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700  43) 
a089221c5e8a5 (Andrew Morton       2005-06-21 17:16:48 -0700  44) struct SL_component {
cb91775711b2f (Arnd Bergmann       2017-10-19 16:47:49 +0200  45) 	__u8 flags;
cb91775711b2f (Arnd Bergmann       2017-10-19 16:47:49 +0200  46) 	__u8 len;
5e01fdff04b7f (Gustavo A. R. Silva 2020-08-31 08:25:42 -0500  47) 	__u8 text[];
a089221c5e8a5 (Andrew Morton       2005-06-21 17:16:48 -0700  48) } __attribute__ ((packed));
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700  49) 
642217c17b9a5 (Andrew Morton       2005-06-21 17:16:51 -0700  50) struct RR_SL_s {
cb91775711b2f (Arnd Bergmann       2017-10-19 16:47:49 +0200  51) 	__u8 flags;
a089221c5e8a5 (Andrew Morton       2005-06-21 17:16:48 -0700  52) 	struct SL_component link;
a089221c5e8a5 (Andrew Morton       2005-06-21 17:16:48 -0700  53) } __attribute__ ((packed));
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700  54) 
642217c17b9a5 (Andrew Morton       2005-06-21 17:16:51 -0700  55) struct RR_NM_s {
cb91775711b2f (Arnd Bergmann       2017-10-19 16:47:49 +0200  56) 	__u8 flags;
5e01fdff04b7f (Gustavo A. R. Silva 2020-08-31 08:25:42 -0500  57) 	char name[];
a089221c5e8a5 (Andrew Morton       2005-06-21 17:16:48 -0700  58) } __attribute__ ((packed));
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700  59) 
642217c17b9a5 (Andrew Morton       2005-06-21 17:16:51 -0700  60) struct RR_CL_s {
cb91775711b2f (Arnd Bergmann       2017-10-19 16:47:49 +0200  61) 	__u8 location[8];
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700  62) };
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700  63) 
642217c17b9a5 (Andrew Morton       2005-06-21 17:16:51 -0700  64) struct RR_PL_s {
cb91775711b2f (Arnd Bergmann       2017-10-19 16:47:49 +0200  65) 	__u8 location[8];
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700  66) };
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700  67) 
a089221c5e8a5 (Andrew Morton       2005-06-21 17:16:48 -0700  68) struct stamp {
34be4dbf87fc3 (Arnd Bergmann       2017-10-19 16:47:48 +0200  69) 	__u8 time[7];		/* actually 6 unsigned, 1 signed */
a089221c5e8a5 (Andrew Morton       2005-06-21 17:16:48 -0700  70) } __attribute__ ((packed));
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700  71) 
642217c17b9a5 (Andrew Morton       2005-06-21 17:16:51 -0700  72) struct RR_TF_s {
cb91775711b2f (Arnd Bergmann       2017-10-19 16:47:49 +0200  73) 	__u8 flags;
5e01fdff04b7f (Gustavo A. R. Silva 2020-08-31 08:25:42 -0500  74) 	struct stamp times[];	/* Variable number of these beasts */
a089221c5e8a5 (Andrew Morton       2005-06-21 17:16:48 -0700  75) } __attribute__ ((packed));
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700  76) 
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700  77) /* Linux-specific extension for transparent decompression */
642217c17b9a5 (Andrew Morton       2005-06-21 17:16:51 -0700  78) struct RR_ZF_s {
cb91775711b2f (Arnd Bergmann       2017-10-19 16:47:49 +0200  79) 	__u8 algorithm[2];
cb91775711b2f (Arnd Bergmann       2017-10-19 16:47:49 +0200  80) 	__u8 parms[2];
cb91775711b2f (Arnd Bergmann       2017-10-19 16:47:49 +0200  81) 	__u8 real_size[8];
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700  82) };
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700  83) 
a089221c5e8a5 (Andrew Morton       2005-06-21 17:16:48 -0700  84) /*
a089221c5e8a5 (Andrew Morton       2005-06-21 17:16:48 -0700  85)  * These are the bits and their meanings for flags in the TF structure.
a089221c5e8a5 (Andrew Morton       2005-06-21 17:16:48 -0700  86)  */
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700  87) #define TF_CREATE 1
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700  88) #define TF_MODIFY 2
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700  89) #define TF_ACCESS 4
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700  90) #define TF_ATTRIBUTES 8
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700  91) #define TF_BACKUP 16
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700  92) #define TF_EXPIRATION 32
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700  93) #define TF_EFFECTIVE 64
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700  94) #define TF_LONG_FORM 128
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700  95) 
a089221c5e8a5 (Andrew Morton       2005-06-21 17:16:48 -0700  96) struct rock_ridge {
cb91775711b2f (Arnd Bergmann       2017-10-19 16:47:49 +0200  97) 	__u8 signature[2];
cb91775711b2f (Arnd Bergmann       2017-10-19 16:47:49 +0200  98) 	__u8 len;
cb91775711b2f (Arnd Bergmann       2017-10-19 16:47:49 +0200  99) 	__u8 version;
a089221c5e8a5 (Andrew Morton       2005-06-21 17:16:48 -0700 100) 	union {
642217c17b9a5 (Andrew Morton       2005-06-21 17:16:51 -0700 101) 		struct SU_SP_s SP;
642217c17b9a5 (Andrew Morton       2005-06-21 17:16:51 -0700 102) 		struct SU_CE_s CE;
642217c17b9a5 (Andrew Morton       2005-06-21 17:16:51 -0700 103) 		struct SU_ER_s ER;
642217c17b9a5 (Andrew Morton       2005-06-21 17:16:51 -0700 104) 		struct RR_RR_s RR;
642217c17b9a5 (Andrew Morton       2005-06-21 17:16:51 -0700 105) 		struct RR_PX_s PX;
642217c17b9a5 (Andrew Morton       2005-06-21 17:16:51 -0700 106) 		struct RR_PN_s PN;
642217c17b9a5 (Andrew Morton       2005-06-21 17:16:51 -0700 107) 		struct RR_SL_s SL;
642217c17b9a5 (Andrew Morton       2005-06-21 17:16:51 -0700 108) 		struct RR_NM_s NM;
642217c17b9a5 (Andrew Morton       2005-06-21 17:16:51 -0700 109) 		struct RR_CL_s CL;
642217c17b9a5 (Andrew Morton       2005-06-21 17:16:51 -0700 110) 		struct RR_PL_s PL;
642217c17b9a5 (Andrew Morton       2005-06-21 17:16:51 -0700 111) 		struct RR_TF_s TF;
642217c17b9a5 (Andrew Morton       2005-06-21 17:16:51 -0700 112) 		struct RR_ZF_s ZF;
a089221c5e8a5 (Andrew Morton       2005-06-21 17:16:48 -0700 113) 	} u;
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700 114) };
^1da177e4c3f4 (Linus Torvalds      2005-04-16 15:20:36 -0700 115) 
a089221c5e8a5 (Andrew Morton       2005-06-21 17:16:48 -0700 116) #define RR_PX 1			/* POSIX attributes */
a089221c5e8a5 (Andrew Morton       2005-06-21 17:16:48 -0700 117) #define RR_PN 2			/* POSIX devices */
a089221c5e8a5 (Andrew Morton       2005-06-21 17:16:48 -0700 118) #define RR_SL 4			/* Symbolic link */
a089221c5e8a5 (Andrew Morton       2005-06-21 17:16:48 -0700 119) #define RR_NM 8			/* Alternate Name */
a089221c5e8a5 (Andrew Morton       2005-06-21 17:16:48 -0700 120) #define RR_CL 16		/* Child link */
a089221c5e8a5 (Andrew Morton       2005-06-21 17:16:48 -0700 121) #define RR_PL 32		/* Parent link */
a089221c5e8a5 (Andrew Morton       2005-06-21 17:16:48 -0700 122) #define RR_RE 64		/* Relocation directory */
a089221c5e8a5 (Andrew Morton       2005-06-21 17:16:48 -0700 123) #define RR_TF 128		/* Timestamps */