[d-kernel] Неполучается поднять kernel версии 2.4.22-std-up-alt15 на машине с SIS 5511/2/3

Aleksey Avdeev solo at solin.spb.ru
Tue Feb 17 11:30:35 MSK 2004


Sergey Vlasov пишет:
> On Mon, Feb 16, 2004 at 12:23:50AM +0300, Aleksey Avdeev wrote:
> 
>>  Не получается у меня поставить ядро 2.4.22-std-up-alt15 на 
>>свой домашний старый пень (на чипсете SIS 5511/2/3).
>>
>>  Судя по логу - проблемы с поднятием IDE (файл serial.txt в 
>>аттаче). Помогите пожалуйста.
> 
> [skip]
> 
>>Uniform Multi-Platform E-IDE driver Revision: 7.00beta4-2.4
>>ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
>>SIS5513: IDE controller at PCI slot 00:01.1
>>SIS5513: chipset revision 8
>>SIS5513: not 100% native mode: will probe irqs later
>>SIS5513: SiS551x ATA 16 controller
>>    ide0: BM-DMA at 0xffa0-0xffa7, BIOS settings: hda:pio, hdb:pio
>>SIS5513: simplex device: DMA disabled
>>ide1: SIS5513 Bus-Master DMA disabled (BIOS)
>>hda: QUANTUM FIREBALLP AS10.2, ATA DISK drive
>>hdc: Maxtor 6E030L0, ATA DISK drive
>>Unable to handle kernel NULL pointer dereference at virtual address 00000000
> 
> 
> Похоже, эта ситуация должна лечиться патчем:
> 
> --- kernel-source-2.4.22/drivers/ide/ide-iops.c.ide-oops	2003-06-13 18:51:33 +0400
> +++ kernel-source-2.4.22/drivers/ide/ide-iops.c	2004-02-16 15:06:21 +0300
> @@ -908,7 +908,8 @@ int ide_config_drive_speed (ide_drive_t 
>  //		ide_delay_50ms();
>  
>  #if defined(CONFIG_BLK_DEV_IDEDMA) && !defined(CONFIG_DMA_NONPCI)
> -	hwif->ide_dma_host_off(drive);
> +	if (hwif->ide_dma_check)
> +		hwif->ide_dma_host_off(drive);
>  #endif /* (CONFIG_BLK_DEV_IDEDMA) && !(CONFIG_DMA_NONPCI) */
>  
>  	/*
> @@ -976,10 +977,12 @@ int ide_config_drive_speed (ide_drive_t 
>  	drive->id->dma_1word &= ~0x0F00;
>  
>  #if defined(CONFIG_BLK_DEV_IDEDMA) && !defined(CONFIG_DMA_NONPCI)
> -	if (speed >= XFER_SW_DMA_0)
> -		hwif->ide_dma_host_on(drive);
> -	else
> -		hwif->ide_dma_off_quietly(drive);
> +	if (hwif->ide_dma_check) {
> +		if (speed >= XFER_SW_DMA_0)
> +			hwif->ide_dma_host_on(drive);
> +		else
> +			hwif->ide_dma_off_quietly(drive);
> +	}
>  #endif /* (CONFIG_BLK_DEV_IDEDMA) && !(CONFIG_DMA_NONPCI) */
>  
>  	switch(speed) {
> 
> Почему-то это до сих пор сломано - видимо, контроллер слишком
> древний и мало у кого встречающийся.  Ладно, будем чинить.

   Ядро с данным патчем и высланным ранее 
(<ttp://altlinux.ru/pipermail/devel-kernel/2004-February/003568.html>) 
конфигом _работает_. (Спасибо.) Причем даже, скорее, не 
поднялось - а взлетело: не успеваю отслеживать в консоли процесс 
загрузки ядра! :-) (Ещё не разу у меня ядра не поднимались так 
быстро.)

   Осталось только DMA допинать: Незнаю как бороться с "SIS5513 
Bus-Master DMA disabled (BIOS)". :-( Наверное можно как-то 
обойти... Не пойму только как.

PS: Первый раз пингвина да данной машине увидел.

-- 

С уважением. Алексей.



More information about the devel-kernel mailing list