wok-next rev 16547
linux: update ATA config
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Tue Apr 29 16:08:33 2014 +0000 (2014-04-29) |
parents | 77fb5713f10e |
children | 56dd53ed321f |
files | linux/stuff/linux-header.u linux/stuff/linux-slitaz.config |
line diff
1.1 --- a/linux/stuff/linux-header.u Tue Apr 29 11:19:12 2014 +0000 1.2 +++ b/linux/stuff/linux-header.u Tue Apr 29 16:08:33 2014 +0000 1.3 @@ -4,7 +4,7 @@ 1.4 * modified by more people than can be counted 1.5 * 1.6 * Rewritten as a common file by H. Peter Anvin (Apr 2007) 1.7 -+ * Rewritten Pascal Bellard (Nov 2009) 1.8 ++ * Rewritten by Pascal Bellard (Nov 2009) 1.9 * 1.10 * BIG FAT NOTE: We're in real mode using 64k segments. Therefore segment 1.11 * addresses must be multiplied by 16 to obtain their respective linear 1.12 @@ -24,7 +24,7 @@ 1.13 1.14 #ifndef SVGA_MODE 1.15 #define SVGA_MODE ASK_VGA 1.16 -@@ -40,53 +44,480 @@ 1.17 +@@ -40,53 +44,505 @@ 1.18 #define ROOT_RDONLY 1 1.19 #endif 1.20 1.21 @@ -33,16 +33,15 @@ 1.22 +cmd_line_ptr = 0x228 1.23 + 1.24 +/* some extra features */ 1.25 -+#define EXE_SUPPORT real mode dos .exe file support (no himem.sys) 1.26 ++#define EXE_SUPPORT real mode dos .exe file support 1.27 +#define CMDLINE kernel >= 2.4 1.28 +#define OLDCMDLINE kernel < 2.4 1.29 +#define HELP display version for ? argument 1.30 +#define MORETHAN16M up to 4Gb RAM, not 16Mb 1.31 +#define KEYBOARDLESS_SUPPORT scan floppy swap each 5 seconds 1.32 -+#define FULL_ZIMAGE Up to 512K system zImage 1.33 + 1.34 -+/* some limitations to reduce code size */ 1.35 -+//#define FLOPPY_1440K_ONLY 1.44M floppies support only 1.36 ++/* some limitations to reduce the code size */ 1.37 ++#define FLOPPY_1440K_ONLY 1.44M floppies support only (no 1.72M, 1.96M...) 1.38 + 1.39 .code16 1.40 .section ".bstext", "ax" 1.41 @@ -90,15 +89,16 @@ 1.42 - xorw %sp, %sp 1.43 - sti 1.44 - cld 1.45 -+#ifdef FULL_ZIMAGE 1.46 -+#define LOADSEG 0x8800 // Up to 512K zImage 1.47 -+#else 1.48 -+#define LOADSEG 0x8000 // 0x1000 multiple, up to 480K zImage 1.49 ++LOADSEG = 0x8000 # 0x1000 multiple, up to 512K zImage 1.50 ++LOADSZ = 0x10000 1.51 ++#ifdef EXE_SUPPORT 1.52 ++#A20BUFFER = 0x60000 # a20 gate / himem.sys support 1.53 ++A20BUFFER = 0x68000 # a20 gate / himem.sys support 1.54 ++#define USEA20BUFFER 1.55 +#endif 1.56 -+#define LOADSZ 0x8000 1.57 1.58 - movw $bugger_off_msg, %si 1.59 -+oldstart: 1.60 ++# bootsect_start: 1.61 + cld # assume nothing 1.62 +stacktop = 0x9E00 # in 0x8000 .. 0xA000 1.63 +zeroed = 48+12 # gdt + zeroed registers 1.64 @@ -109,7 +109,15 @@ 1.65 + pushw $INITSEG 1.66 + popw %ss # %ss contain INITSEG 1.67 + movw %di, %sp # put stack at INITSEG:stacktop-... 1.68 -+ 1.69 + 1.70 +-msg_loop: 1.71 +- lodsb 1.72 +- andb %al, %al 1.73 +- jz bs_die 1.74 +- movb $0xe, %ah 1.75 +- movw $7, %bx 1.76 +- int $0x10 1.77 +- jmp msg_loop 1.78 +# Many BIOS's default disk parameter tables will not recognize 1.79 +# multi-sector reads beyond the maximum sector number specified 1.80 +# in the default diskette parameter tables - this may mean 7 1.81 @@ -121,7 +129,10 @@ 1.82 +# count to 36 - the most we will encounter on an ED 2.88. 1.83 +# 1.84 +# High doesn't hurt. Low does. Let's use the max: 63 1.85 -+ 1.86 + 1.87 +-bs_die: 1.88 +- # Allow the user to press a key, then reboot 1.89 +- xorw %ax, %ax 1.90 + pushw %ss 1.91 + popw %es # %es = %ss = INITSEG 1.92 + xorw %ax, %ax # %ax = 0 1.93 @@ -178,27 +189,37 @@ 1.94 + movw %sp, %si # for bootsect_gdt 1.95 +init_gdt: 1.96 + decw bootsect_src_limit(%bx,%si) # max 64Kb 1.97 -+#if LOADSEG % 0x1000 == 0 1.98 + movw $0x9300+(LOADSEG/0x1000), bootsect_src_base+2(%bx,%si) 1.99 -+#else 1.100 -+ movl $0x93000000+(LOADSEG*0x10), bootsect_src_base(%bx,%si) 1.101 -+#endif 1.102 + xorb $bootsect_dst_limit-bootsect_src_limit, %bl 1.103 + jne init_gdt 1.104 +code32_start = 0x214 1.105 -+#ifdef MORETHAN16M 1.106 -+ movb code32_start+3, %al # destination = 0x00100000 or 0x00010000 1.107 -+ movb %al, bootsect_dst_base_hi(%si) # load high (> 16M) ? 1.108 -+#endif 1.109 + movw code32_start+1, %ax # destination = 0x00100000 or 0x00010000 1.110 + movl syssize, %ebx 1.111 + decl %ebx 1.112 + shrl $5, %ebx 1.113 ++#ifdef MORETHAN16M 1.114 + incl %ebx 1.115 ++#else 1.116 ++ incw %bx 1.117 ++#endif 1.118 ++#ifdef USEA20BUFFER 1.119 ++ movw $0x00100000>>8, %di 1.120 ++#endif 1.121 +syslp: 1.122 ++#ifdef USEA20BUFFER 1.123 ++ cmpw %ax, %di 1.124 ++ jne nota20 1.125 ++ xorw $(0x00100000+A20BUFFER)>>8, %ax 1.126 ++nota20: 1.127 ++#endif 1.128 + movw %ax, bootsect_dst_base+1(%si) 1.129 ++#ifdef MORETHAN16M 1.130 ++ movl $LOADSZ/512, %edi # size in sectors 1.131 ++ subl %edi, %ebx 1.132 ++#else 1.133 + movw $LOADSZ/512, %di # size in sectors 1.134 -+ subl $LOADSZ/512, %ebx 1.135 ++ subw %di, %bx 1.136 ++#endif 1.137 + pushf 1.138 + jnc not_last 1.139 + addw %bx, %di 1.140 @@ -219,25 +240,25 @@ 1.141 + popw %es # restore es 1.142 + int $0x15 # max 16M, maybe more... 1.143 + popw %ax 1.144 -+ addw $LOADSZ/256, %ax # next dest 1.145 ++ incb %ah # next dest (ax+=LOADSZ/256) 1.146 +#ifdef MORETHAN16M 1.147 + adcb %cl, bootsect_dst_base_hi(%si) # breaks 16M limit ? 1.148 +#endif 1.149 ++#ifdef USEA20BUFFER 1.150 ++ movw $(LOADSZ+A20BUFFER)>>8, %di 1.151 ++#endif 1.152 + popf 1.153 + ja syslp 1.154 - 1.155 --msg_loop: 1.156 -- lodsb 1.157 -- andb %al, %al 1.158 -- jz bs_die 1.159 -- movb $0xe, %ah 1.160 -- movw $7, %bx 1.161 -- int $0x10 1.162 -- jmp msg_loop 1.163 -- 1.164 --bs_die: 1.165 -- # Allow the user to press a key, then reboot 1.166 -- xorw %ax, %ax 1.167 ++#ifdef USEA20BUFFER 1.168 ++#ifdef MORETHAN16M 1.169 ++ movb %cl, bootsect_dst_base_hi(%si) 1.170 ++#endif 1.171 ++ movb $0x10, bootsect_dst_base+2(%si) 1.172 ++ movw $A20BUFFER/0x100, bootsect_src_base+1(%si) 1.173 ++ movb $0x87, %ah 1.174 ++ int $0x15 1.175 ++#endif 1.176 ++ 1.177 +# This procedure turns off the floppy drive motor, so 1.178 +# that we enter the kernel in a known state, and 1.179 +# don't have to worry about it later. 1.180 @@ -395,25 +416,27 @@ 1.181 - int $0x19 1.182 +#endif 1.183 + jmp read_sectorslp 1.184 -+ 1.185 + 1.186 +- # int 0x19 should never return. In case it does anyway, 1.187 +- # invoke the BIOS reset code... 1.188 +- ljmp $0xf000,$0xfff0 1.189 +#ifdef EXE_SUPPORT 1.190 +read_sectors_dos: 1.191 ++ xorw %dx, %dx // write to %ds:%dx, not %es:%bx 1.192 ++ call read_sectors_dosz 1.193 ++read_sectors_dosz: 1.194 + pushw %es 1.195 + popw %ds 1.196 + movb $0x3F, %ah // read 1.197 -+ cwd // write to %ds:%dx, not %es:%bx 1.198 + movw %di, %cx 1.199 -+ shlw $9, %cx // byte count 1.200 ++ shlw $8, %cx // byte count / 2 1.201 + movw %bp, %bx 1.202 + int $0x21 1.203 ++ xchgw %ax, %dx 1.204 + pushw %ss 1.205 + popw %ds 1.206 +#endif 1.207 1.208 -- # int 0x19 should never return. In case it does anyway, 1.209 -- # invoke the BIOS reset code... 1.210 -- ljmp $0xf000,$0xfff0 1.211 -- 1.212 - .section ".bsdata", "a" 1.213 -bugger_off_msg: 1.214 - .ascii "Direct booting from floppy is no longer supported.\r\n" 1.215 @@ -432,7 +455,7 @@ 1.216 + cmp $0xd, %al # CR ? 1.217 + je putclf 1.218 + ret 1.219 -+ 1.220 + 1.221 +#ifdef KEYBOARDLESS_SUPPORT 1.222 +clock = 0x46C 1.223 +wait: 1.224 @@ -453,7 +476,7 @@ 1.225 +waitdone: 1.226 + ret 1.227 +#endif 1.228 - 1.229 ++ 1.230 +#ifdef EXE_SUPPORT 1.231 +comstart: 1.232 + cld # assume nothing
2.1 --- a/linux/stuff/linux-slitaz.config Tue Apr 29 11:19:12 2014 +0000 2.2 +++ b/linux/stuff/linux-slitaz.config Tue Apr 29 16:08:33 2014 +0000 2.3 @@ -135,7 +135,9 @@ 2.4 # CONFIG_SYSFS_DEPRECATED is not set 2.5 # CONFIG_RELAY is not set 2.6 CONFIG_BLK_DEV_INITRD=y 2.7 -CONFIG_INITRAMFS_SOURCE="" 2.8 +CONFIG_INITRAMFS_SOURCE="initrd.cpio" 2.9 +CONFIG_INITRAMFS_ROOT_UID=0 2.10 +CONFIG_INITRAMFS_ROOT_GID=0 2.11 CONFIG_RD_GZIP=y 2.12 CONFIG_RD_BZIP2=y 2.13 CONFIG_RD_LZMA=y 2.14 @@ -1401,39 +1403,39 @@ 2.15 CONFIG_SATA_AHCI_PLATFORM=m 2.16 CONFIG_SATA_INIC162X=m 2.17 CONFIG_SATA_ACARD_AHCI=m 2.18 -CONFIG_SATA_SIL24=m 2.19 +CONFIG_SATA_SIL24=y 2.20 CONFIG_ATA_SFF=y 2.21 2.22 # 2.23 # SFF controllers with custom DMA interface 2.24 # 2.25 -CONFIG_PDC_ADMA=m 2.26 -CONFIG_SATA_QSTOR=m 2.27 -CONFIG_SATA_SX4=m 2.28 +CONFIG_PDC_ADMA=y 2.29 +CONFIG_SATA_QSTOR=y 2.30 +CONFIG_SATA_SX4=y 2.31 CONFIG_ATA_BMDMA=y 2.32 2.33 # 2.34 # SATA SFF controllers with BMDMA 2.35 # 2.36 CONFIG_ATA_PIIX=y 2.37 -CONFIG_SATA_MV=m 2.38 -CONFIG_SATA_NV=m 2.39 -CONFIG_SATA_PROMISE=m 2.40 -CONFIG_SATA_SIL=m 2.41 -CONFIG_SATA_SIS=m 2.42 -CONFIG_SATA_SVW=m 2.43 -CONFIG_SATA_ULI=m 2.44 -CONFIG_SATA_VIA=m 2.45 -CONFIG_SATA_VITESSE=m 2.46 +CONFIG_SATA_MV=y 2.47 +CONFIG_SATA_NV=y 2.48 +CONFIG_SATA_PROMISE=y 2.49 +CONFIG_SATA_SIL=y 2.50 +CONFIG_SATA_SIS=y 2.51 +CONFIG_SATA_SVW=y 2.52 +CONFIG_SATA_ULI=y 2.53 +CONFIG_SATA_VIA=y 2.54 +CONFIG_SATA_VITESSE=y 2.55 2.56 # 2.57 # PATA SFF controllers with BMDMA 2.58 # 2.59 -CONFIG_PATA_ALI=m 2.60 -CONFIG_PATA_AMD=m 2.61 -CONFIG_PATA_ARTOP=m 2.62 -CONFIG_PATA_ATIIXP=m 2.63 -CONFIG_PATA_ATP867X=m 2.64 +CONFIG_PATA_ALI=y 2.65 +CONFIG_PATA_AMD=y 2.66 +CONFIG_PATA_ARTOP=y 2.67 +CONFIG_PATA_ATIIXP=y 2.68 +CONFIG_PATA_ATP867X=y 2.69 CONFIG_PATA_CMD64X=m 2.70 CONFIG_PATA_CS5520=m 2.71 CONFIG_PATA_CS5530=m 2.72 @@ -1447,9 +1449,9 @@ 2.73 CONFIG_PATA_HPT3X3=m 2.74 # CONFIG_PATA_HPT3X3_DMA is not set 2.75 CONFIG_PATA_IT8213=m 2.76 -CONFIG_PATA_IT821X=m 2.77 -CONFIG_PATA_JMICRON=m 2.78 -CONFIG_PATA_MARVELL=m 2.79 +CONFIG_PATA_IT821X=y 2.80 +CONFIG_PATA_JMICRON=y 2.81 +CONFIG_PATA_MARVELL=y 2.82 CONFIG_PATA_NETCELL=m 2.83 CONFIG_PATA_NINJA32=m 2.84 CONFIG_PATA_NS87415=m 2.85 @@ -1463,18 +1465,18 @@ 2.86 CONFIG_PATA_SCH=m 2.87 CONFIG_PATA_SERVERWORKS=m 2.88 CONFIG_PATA_SIL680=m 2.89 -CONFIG_PATA_SIS=m 2.90 -CONFIG_PATA_TOSHIBA=m 2.91 +CONFIG_PATA_SIS=y 2.92 +CONFIG_PATA_TOSHIBA=y 2.93 CONFIG_PATA_TRIFLEX=m 2.94 -CONFIG_PATA_VIA=m 2.95 +CONFIG_PATA_VIA=y 2.96 CONFIG_PATA_WINBOND=m 2.97 2.98 # 2.99 # PIO-only SFF controllers 2.100 # 2.101 -CONFIG_PATA_CMD640_PCI=m 2.102 +CONFIG_PATA_CMD640_PCI=y 2.103 CONFIG_PATA_ISAPNP=y 2.104 -CONFIG_PATA_MPIIX=m 2.105 +CONFIG_PATA_MPIIX=y 2.106 CONFIG_PATA_NS87410=m 2.107 CONFIG_PATA_OPTI=m 2.108 CONFIG_PATA_PCMCIA=m 2.109 @@ -1485,8 +1487,8 @@ 2.110 # 2.111 # Generic fallback / legacy drivers 2.112 # 2.113 -CONFIG_PATA_ACPI=m 2.114 -CONFIG_ATA_GENERIC=m 2.115 +CONFIG_PATA_ACPI=y 2.116 +CONFIG_ATA_GENERIC=y 2.117 CONFIG_PATA_LEGACY=y 2.118 CONFIG_MD=y 2.119 CONFIG_BLK_DEV_MD=m