Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

linux 0.11 ÄÚºËѧϰ floppy.c£¬Çý¶¯ÄãµÄÈíÅÌ


/*
 *  linux/kernel/floppy.c
 *
 *  (C) 1991  Linus Torvalds
 */
/*
 * 02.12.91 - Changed to static variables to indicate need for reset
 * and recalibrate. This makes some things easier (output_byte reset
 * checking etc), and means less interrupt jumping in case of errors,
 * so the code is hopefully easier to understand.
 */
/*
 * This file is certainly a mess. I've tried my best to get it working,
 * but I don't like programming floppies, and I have only one anyway.
 * Urgel. I should check for more errors, and do more graceful error
 * recovery. Seems there are problems with several drives. I've tried to
 * correct them. No promises. 
 */
/*
 * As with hd.c, all routines within this file can (and will) be called
 * by interrupts, so extreme caution is needed. A hardware interrupt
 * handler may not sleep, or a kernel panic will happen. Thus I cannot
 * call "floppy-on" directly, but have to set a special timer interrupt
 * etc.
 *
 * Also, I'm not certain this works on more than 1 floppy. Bugs may
 * abund.
 */
#include <linux/sched.h>
#include <linux/fs.h>
#include <linux/kernel.h>
#include <linux/fdreg.h> // ÈíÇýÍ·Îļþ£¬ÆäÖаüº¬ÈíÇýµÄ³£Óú¯ÊýµÄ¶¨Òå
#include <asm/system.h>
#include <asm/io.h>
#include <asm/segment.h>
#define MAJOR_NR 2 // ÈíÇýÖ÷É豸ºÅ
#include "blk.h"
/* È«¾Ö±êÖ¾±äÁ¿ */
static int recalibrate = 0; // ÐèÒªÖØÐÂУÕý
static int reset = 0; // ÐèÒªÖØÐÂÖÃλ
static int seek = 0; // ѰµÀ
extern unsigned char current_DOR; // ÔÚÎļþsched.cÖж¨Òå
#define immoutb_p(val,port) \ // ×Ö½ÚvalÖ±½ÓÊä³öµ½port
__asm__("outb %0,%1\n\tjmp 1f\n1:\tjmp 1f\n1:"::"a" ((char) (val)),"i" (port))
#define TYPE(x) ((x)>>2) // ÈíÇýÀàÐÍ£¬2--1.2MB£¬7--1.44MB
#define DRIVE(x) ((x)&0x03) // ÈíÇýÐòÁкÅ0-3¶ÔÓ¦A-D
/*
 * Note that MAX_ERRORS=8


Ïà¹ØÎĵµ£º

LinuxÉ豸ģÐÍÖ®input×ÓϵͳÏê½â

Ò»£ºÇ°ÑÔ
×î½üÔÚÑо¿androidµÄsensor driver£¬Ö÷ÒªÊÇE-compass£¬ÆäÖÐÓõ½ÁËLinux input×Óϵͳ.ÔÚÍøÉÏÒ²¿´Á˺ܶàÕâ·½ÃæµÄ×ÊÁÏ£¬¸Ð¾õ»¹ÊÇÕâÆª·ÖÎöµÄ±È½ÏϸÖÂ͸³¹£¬Òò´Ë×ªÔØÒ»ÏÂÒÔ±ã×Ô¼ºÑ§Ï°£¬Í¬Ê±ºÍ´ó¼Ò·ÖÏí£¡
£¨ÕâÆª²©¿ÍÖ÷ÒªÊÇÒÔ¼üÅÌÇý¶¯ÎªÀýµÄ£¬²»¹ý½²½âµÄÊÇLinux Input Subsystem£¬¿ÉÒÔ×ÐϸµÄÑо¿Ò»Ï£¡£©
¼üÅÌÇý¶¯½«¼ì ......

ÓÃCдµÄ3DÃÔ¹¬

          Boss˵£¬Òª¿´OpenGL£¬¿´ÁË¿ìÒ»¸öÔ£¬×ÜËã³öÁ˸öÏñÑùµÄ¶«Î÷£¬ÓÃCдÁ˸ö3DÃÔ¹¬£¬
ËäȻֻÓÐ350ÐÐ
       ´úÂ룬²»¹ý±ßѧ±ßд£¬×ã×ãдÁËÒ»ÖÜʱ¼ä£¬»¹ÊÇСÓгɾ͸е쬻î»î»î£¡
         &n ......

Linux·þÎñÆ÷ÈÕÖ¾¹ÜÀíÏê½â

ÈÕÖ¾¶ÔÓÚ°²È«À´Ëµ£¬·Ç³£ÖØÒª£¬Ëû¼Ç¼ÁËϵͳÿÌì·¢ÉúµÄ¸÷ÖÖ¸÷ÑùµÄÊÂÇ飬Äã¿ÉÒÔͨ¹ýËûÀ´¼ì²é´íÎó·¢ÉúµÄÔ­Òò£¬»òÕßÊܵ½¹¥»÷ʱ¹¥»÷ÕßÁôϵĺۼ£¡£ÈÕÖ¾Ö÷ÒªµÄ¹¦ÄÜÓУºÉó¼ÆºÍ¼à²â¡£Ëû»¹¿ÉÒÔʵʱµÄ¼à²âϵͳ״̬£¬¼à²âºÍ×·×ÙÇÖÈëÕߵȵȡ£
¡¡¡¡ÔÚLinuxϵͳÖУ¬ÓÐÈý¸öÖ÷ÒªµÄÈÕÖ¾×Óϵͳ£º
¡¡¡¡Á¬½Óʱ¼äÈÕÖ¾--Óɶà¸ö³ÌÐòÖ´ÐУ¬°Ñ¼ ......

Linux Ó²Á´½ÓÓëÈíÁ´½Ó½éÉÜ

¼òÒª½éÉÜ£º
Á´½ÓÓÐÁ½ÖÖ£¬Ò»ÖÖ±»³ÆÎªÓ²Á´½Ó£¨Hard Link£©£¬ÁíÒ»ÖÖ±»³ÆÎª·ûºÅÁ´½Ó£¨Symbolic
Link£©¡£ÈíÁ´½ÓÏ൱ÓÚwindowsÖеĿì½Ý·½Ê½£¬Ó²Á´½ÓÏ൱ÓÚÒ»¸öÊý¾Ýͬ²½±¸·Ý£¬Êý¾Ý´æ·ÅÔÚÁ½´¦£¬Óë¸´ÖÆ²»Í¬µÄÊÇÁ½´¦Ö®¼ä´æÔÚͬ²½»úÖÆ£¬Ò»´¦Êý¾ÝµÄ¸Ä±ä»áʵʱͬ²½µ½ÁíÒ»´¦,ÁíÍ⣬һ´¦Êý¾ÝÈç¹û±»É¾³ýÁË£¬²»»áÓ°Ïìµ½ÁíÒ»´¦µÄÊý¾Ý¡£
ÏÞ ......

LinuxÆô¶¯Á÷³Ì

´ÓÓû§´ò¿ªµçÔ´µ½Óû§¿ÉÒԵǼµÄÕâ¶Ì¶ÌµÄÒ»¶Îʱ¼äÄÚ£¬Red Hat Enterprise Linuxµ½µ×¶¼×÷ÁËÄÄЩÊÂÇ飬ֻÓÐÖªµÀÁËÕâЩÊÂÇ飬Óû§ÔÚÒÔºóµÄʹÓùý³ÌÖУ¬Èç¹û³öÏÖÁËһЩÎÊÌ⣬ÎÒÃÇ¿ÉÒÔ½èÖúÕâЩ¹ý³ÌÀ´ÎªÎÒÃÇÅųýһЩ¹ÊÕÏ¡£
Red Hat Enterprise LinuxÔÚµçÄÔµÄÆô¶¯½×¶Î£¬Ò»¹²¾­ÀúÒÔÏÂÁ½¸ö½×¶Î£¬Èçͼ1£º
BIOS×Ô¼ì
µ±µçÄÔ¿ª»úµÄʱº ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ