# HG changeset patch # User Pascal Bellard # Date 1259012199 -3600 # Node ID b1b311195e79bc4c5031f9821e8651e0ce69a8f3 # Parent ecf167c9dacc436a640dd17a7b3b3129c5fd4905 linux/boot: skip 'floppy changed' warning diff -r ecf167c9dacc -r b1b311195e79 linux/stuff/bootloader.sh --- a/linux/stuff/bootloader.sh Mon Nov 23 15:33:20 2009 +0100 +++ b/linux/stuff/bootloader.sh Mon Nov 23 22:36:39 2009 +0100 @@ -74,17 +74,18 @@ dd if=$KERNEL bs=512 count=1 of=$bs 2> /dev/null uudecode < /dev/null begin-base64 644 - -v/Sd/GgAkAcxyQYXify7eACO2cU3sQbzpY7ZiSeMRwKg8X2YQAYfxkX4P/qX -mEEx2+hAAb4AAoBMEYDHRCQAnAN0DuhmAb4oAjkcci9HixxW6EIBX4s16FIB -sCDNELAIzRBOmM0WPAh0BJiJBK07NXTx6CsBPAp14Yh8/rkYAGoA4vyJ5rAP -v/QB/k0csQW0k4lEHLABiUQUmYlUEIlUGGYx20PT40tmAx1m0+toABAHv4AA -KfuccwIB31NWMdvo1ABeuQCAtIf+RBzNFVudd9yhGgJIvxwCsQk4RBxysDHA -zRPqAAAgkLBGKMi+twHovABd6yOA+RNyBDjBd2iA/gJyBDjmd2mA/VBzc2AG -UlFTlrQCULkGAFGxBMHFBLAPIegEkCcUQCfodQDi7rAgzRBZ4rSYzRNhMfat -ka2SrVAoyHcCsAGYOfhyAon4UFK0As0TWpVeWHKcKfcB8cHmCQHzOMF1JojI -/saxATjmdRyI9P7FtgA8E3USgP1Qcg21AGC+ugHoJACYzRZhowQAUlFmjwYA -AAn/dZ4WB7AxLAO0DrsHAM0QPA1088OwDejv/6wIwHX4w1g6AEluc2VydCBu -ZXh0IGZsb3BweSBhbmQgcHJlc3MgYW55IGtleSB0byBjb250aW51ZS4HDQA= +v/Sd/GgAkAcxyQYXify7eACO2cU3sQbzpY7ZiSeMRwKg8X2YQAYfxkX4P/qz +GFFLdfyXmEHoPgG+AAKATBGAx0QkAJwDdA7oZAG+KAI5HHIuR4scVuhAAV+L +NehQAbAgzRCwCM0QTpjNFjwIdAOIBK07NXTy6CoBPAp14oh8/onmsA+/9AH+ +TRyxBbSTiUQcsAGJRBSZiVQQiVQYZjHbQ9PjS2YDHWbT62gAEAe/gAAp+5xz +AgHfU1Yx2+jaAF65AIC0h/5EHM0VW5133KEaAki/HAKxCThEHHKwMcDNE+oA +ACCQsEYoyL65AejCAF3rKYD5E3IEOMF3boD+AnIEOOZ3b4D9UHN5YIH9AAZ0 +JwZSUVOWtAJQuQYAUbEEwcUEsA8h6ASQJxRAJ+h1AOLusCDNEFnirpjNE2Ex +9q2RrZKtUCjIdwKwAZg5+HICifhQUrQCzRNalV5YcpYp9wHxweYJAfM4wXUm +iMj+xrEBOOZ1HIj0/sW2ADwTdRKA/VByDbUAYL68AegkAJjNFmGjBABSUWaP +BgAACf91nhYHsDEsA7QOuwcAzRA8DXTzw7AN6O//rAjAdfjDWDoASW5zZXJ0 +IG5leHQgZmxvcHB5IGFuZCBwcmVzcyBhbnkga2V5IHRvIGNvbnRpbnVlLgcN +AA== ==== EOT diff -r ecf167c9dacc -r b1b311195e79 linux/stuff/linux-header-2.6.30.6.u --- a/linux/stuff/linux-header-2.6.30.6.u Mon Nov 23 15:33:20 2009 +0100 +++ b/linux/stuff/linux-header-2.6.30.6.u Mon Nov 23 22:36:39 2009 +0100 @@ -18,7 +18,7 @@ #ifndef SVGA_MODE #define SVGA_MODE ASK_VGA -@@ -39,53 +41,391 @@ +@@ -39,53 +41,394 @@ #define ROOT_RDONLY 1 #endif @@ -104,10 +104,15 @@ + + cli + ++ movb $24, %bl # allocate 48 bytes in stack ++init_gdt: ++ pushw %cx # initialized with 0 ++ decw %bx ++ jnz init_gdt ++ + xchg %ax, %di # sector count + cbw # limits = 0 + incw %cx # cylinder 0, sector 1 -+ xorw %bx, %bx + call read_first_sectors # read setup + +#define version_offset 0xE @@ -146,8 +151,7 @@ + int $0x16 + cmpb $8, %al # BackSpace ? + je cmdbs -+ cbw -+ movw %ax, (%si) # store end of string too ++ movb %al, (%si) # store char + lodsw # %si += 2 +cmdbs: + cmpw (%di), %si # lower limit is checked @@ -155,7 +159,7 @@ + call putc # set %ah and %bx + cmpb $10, %al # Enter ? + jne cmdlp -+ movb %bh,-2(%si) # remove CR ++ movb %bh,-2(%si) # set end of line, remove CR +endcmdline: + +nocmdline: @@ -168,10 +172,6 @@ +# no 64kB boundaries are crossed. We try to load it as fast as +# possible, loading whole tracks whenever we can. + -+ movw $24, %cx # allocate 48 bytes in stack -+init_gdt: -+ push $0 # initialized with 0 -+ loop init_gdt + movw %sp, %si # for bootsect_gdt + movb $0x0F, %al # destination = 0x100000 + movw $syssize, %di @@ -272,6 +272,8 @@ +#endif + pushaw +#ifdef SHOW_REGS ++ cmpw $0x600,%bp # disk changed ? ++ je reset_floppy + pushw %es # print %es (named EX) + pushw %dx # print %dx + pushw %cx # print %cx @@ -299,6 +301,7 @@ + int $0x10 + popw %cx + loop print_loop ++reset_floppy: +#endif + cbw # %ah = 0 + int $0x13 # reset controler