Date: Thu, 22 Apr 2004 10:38:56 -0700 (PDT) From: Warner Losh <imp@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 51574 for review Message-ID: <200404221738.i3MHcuva070830@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=51574 Change 51574 by imp@imp_pacopaco on 2004/04/22 10:38:07 IFC @51569 Affected files ... .. //depot/projects/power/sys/amd64/acpica/acpi_machdep.c#3 integrate .. //depot/projects/power/sys/boot/i386/boot0/boot0.s#4 integrate .. //depot/projects/power/sys/boot/i386/boot0/boot0ext.s#2 integrate .. //depot/projects/power/sys/boot/i386/boot0/boot0sio.s#3 integrate .. //depot/projects/power/sys/cam/scsi/scsi_da.c#6 integrate .. //depot/projects/power/sys/compat/ndis/kern_ndis.c#9 integrate .. //depot/projects/power/sys/compat/ndis/ntoskrnl_var.h#4 integrate .. //depot/projects/power/sys/compat/ndis/subr_hal.c#5 integrate .. //depot/projects/power/sys/conf/NOTES#13 integrate .. //depot/projects/power/sys/conf/files#11 integrate .. //depot/projects/power/sys/conf/options#13 integrate .. //depot/projects/power/sys/dev/acpica/Osd/OsdTable.c#4 integrate .. //depot/projects/power/sys/dev/acpica/acpi.c#20 integrate .. //depot/projects/power/sys/dev/acpica/acpi_acad.c#6 integrate .. //depot/projects/power/sys/dev/acpica/acpi_cpu.c#7 integrate .. //depot/projects/power/sys/dev/acpica/acpi_pcib.c#6 integrate .. //depot/projects/power/sys/dev/acpica/acpi_timer.c#4 integrate .. //depot/projects/power/sys/dev/acpica/acpivar.h#12 integrate .. //depot/projects/power/sys/dev/asr/asr.c#4 integrate .. //depot/projects/power/sys/dev/ata/ata-chipset.c#10 integrate .. //depot/projects/power/sys/dev/ata/ata-lowlevel.c#8 integrate .. //depot/projects/power/sys/dev/ata/ata-pci.c#8 integrate .. //depot/projects/power/sys/dev/ata/ata-pci.h#7 integrate .. //depot/projects/power/sys/dev/ciss/ciss.c#8 integrate .. //depot/projects/power/sys/dev/ciss/cissreg.h#4 integrate .. //depot/projects/power/sys/dev/hfa/fore_load.c#3 delete .. //depot/projects/power/sys/dev/if_ndis/if_ndis.c#8 integrate .. //depot/projects/power/sys/dev/pci/pci.c#13 integrate .. //depot/projects/power/sys/dev/sound/pci/cmi.c#5 integrate .. //depot/projects/power/sys/geom/concat/g_concat.c#2 integrate .. //depot/projects/power/sys/i386/acpica/acpi_machdep.c#5 integrate .. //depot/projects/power/sys/i386/conf/GENERIC#8 integrate .. //depot/projects/power/sys/i386/isa/atpic.c#4 integrate .. //depot/projects/power/sys/ia64/acpica/acpi_machdep.c#2 integrate .. //depot/projects/power/sys/kern/kern_thr.c#4 integrate .. //depot/projects/power/sys/kern/kern_timeout.c#7 integrate .. //depot/projects/power/sys/kern/vfs_export.c#3 integrate .. //depot/projects/power/sys/kern/vfs_syscalls.c#8 integrate .. //depot/projects/power/sys/modules/acpi/acpi/Makefile#4 integrate .. //depot/projects/power/sys/modules/asr/Makefile#2 integrate .. //depot/projects/power/sys/modules/cam/Makefile#3 integrate .. //depot/projects/power/sys/modules/ipfilter/Makefile#3 integrate .. //depot/projects/power/sys/net/if.c#10 integrate .. //depot/projects/power/sys/net/radix.c#5 integrate .. //depot/projects/power/sys/net/route.c#10 integrate .. //depot/projects/power/sys/net/route.h#8 integrate .. //depot/projects/power/sys/net/rtsock.c#7 integrate .. //depot/projects/power/sys/netinet/in_pcb.c#8 integrate .. //depot/projects/power/sys/netinet/tcp_subr.c#12 integrate .. //depot/projects/power/sys/netinet/tcp_var.h#6 integrate .. //depot/projects/power/sys/netinet6/nd6.c#8 integrate .. //depot/projects/power/sys/netinet6/nd6_nbr.c#5 integrate .. //depot/projects/power/sys/netipsec/xform_tcp.c#2 integrate .. //depot/projects/power/sys/pci/amdpm.c#4 integrate .. //depot/projects/power/sys/pci/if_sk.c#9 integrate .. //depot/projects/power/sys/powerpc/include/param.h#4 integrate .. //depot/projects/power/sys/powerpc/include/pmap.h#6 integrate .. //depot/projects/power/sys/sys/callout.h#4 integrate .. //depot/projects/power/sys/sys/types.h#4 integrate Differences ... ==== //depot/projects/power/sys/amd64/acpica/acpi_machdep.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/acpica/acpi_machdep.c,v 1.12 2003/09/22 22:12:46 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/acpica/acpi_machdep.c,v 1.13 2004/04/21 02:10:58 njl Exp $"); #include <sys/param.h> #include <sys/bus.h> @@ -40,8 +40,7 @@ { struct acpi_softc *sc; - if ((sc = device_get_softc(dev)) == NULL) - return (ENXIO); + sc = device_get_softc(dev); acpi_install_wakeup_handler(sc); ==== //depot/projects/power/sys/boot/i386/boot0/boot0.s#4 (text+ko) ==== @@ -13,7 +13,7 @@ # purpose. # -# $FreeBSD: src/sys/boot/i386/boot0/boot0.s,v 1.29 2003/12/11 20:40:12 jhb Exp $ +# $FreeBSD: src/sys/boot/i386/boot0/boot0.s,v 1.30 2004/04/20 03:15:59 obrien Exp $ # A 512-byte boot manager. @@ -91,12 +91,12 @@ jnz main.1 # Yes testb %dl,%dl # Drive number valid? js main.2 # Possibly (0x80 set) -main.1: movb _SETDRV(%bp),%dl # Drive number to use +main.1: movb _SETDRV(%bp),%dl # Drive number to use # # Whatever we decided to use, now store it into the fake # partition entry that lives in the data space above us. # -main.2: movb %dl,_FAKE(%bp) # Save drive number +main.2: movb %dl,_FAKE(%bp) # Save drive number callw putn # To new line pushw %dx # Save drive number # @@ -112,7 +112,7 @@ # Loop around on the partition table, printing values until we # pass a 256 byte boundary. The end of loop test is at main.5. # -main.3: movb %ch,-0x4(%bx) # Zero active flag (ch == 0) +main.3: movb %ch,-0x4(%bx) # Zero active flag (ch == 0) btw %dx,_FLAGS(%bp) # Entry enabled? jnc main.5 # No # @@ -139,10 +139,10 @@ # pointing at its first element which points to a "?". # addw $TBL1SZ,%di # Adjust -main.4: movb (%di),%cl # Partition +main.4: movb (%di),%cl # Partition addw %cx,%di # description callw putx # Display it -main.5: incw %dx # Next item +main.5: incw %dx # Next item addb $0x10,%bl # Next entry jnc main.3 # Till done # @@ -170,7 +170,7 @@ # This also is part of the printed drive string so add 0x80 to indicate # end of string. # -main.6: addb $'0'|0x80,%al # Save next +main.6: addb $'0'|0x80,%al # Save next movb %al,_NXTDRV(%bp) # drive number movw $drive,%di # Display callw putx # item @@ -178,7 +178,7 @@ # Now that we've printed the drive (if we needed to), display a prompt. # Get ready for the input by noting the time. # -main.7: movw $prompt,%si # Display +main.7: movw $prompt,%si # Display callw putstr # prompt movb _OPT(%bp),%dl # Display decw %si # default @@ -191,7 +191,7 @@ # Busy loop, looking for keystrokes but # keeping one eye on the time. # -main.8: movb $0x1,%ah # BIOS: Check +main.8: movb $0x1,%ah # BIOS: Check int $0x16 # for keypress jnz main.11 # Have one xorb %ah,%ah # BIOS: Get @@ -201,7 +201,7 @@ # # If timed out or defaulting, come here. # -main.9: movb _OPT(%bp),%al # Load default +main.9: movb _OPT(%bp),%al # Load default jmp main.12 # Join common code # # User's last try was bad, beep in displeasure. @@ -296,7 +296,7 @@ # Display routines # -putkey: movb $'F',%al # Display +putkey: movb $'F',%al # Display callw putchr # 'F' movb $'1',%al # Prepare addb %dl,%al # digit @@ -315,14 +315,14 @@ putn: movw $crlf,%si # To next line -putstr: lodsb # Get byte +putstr: lodsb # Get byte testb $0x80,%al # End of string? jnz putstr.2 # Yes putstr.1: callw putchr # Display char jmp putstr # Continue putstr.2: andb $~0x80,%al # Clear MSB -putchr: pushw %bx # Save +putchr: pushw %bx # Save movw $0x7,%bx # Page:attribute movb $0xe,%ah # BIOS: Display int $0x10 # character @@ -331,7 +331,7 @@ # One-sector disk I/O routine -intx13: movb 0x1(%si),%dh # Load head +intx13: movb 0x1(%si),%dh # Load head movw 0x2(%si),%cx # Load cylinder:sector movb $0x1,%al # Sector count pushw %si # Save @@ -355,7 +355,7 @@ # Menu strings item: .ascii " "; .byte ' '|0x80 -prompt: .ascii "\nDefault:"; .byte ' '|0x80 +prompt: .ascii "\nDefault:"; .byte ' '|0x80 crlf: .ascii "\r"; .byte '\n'|0x80 # Partition type tables @@ -391,10 +391,10 @@ # the end of the string. (not so great for Russians but...) # os_misc: .ascii "?"; .byte '?'|0x80 -os_dos: .ascii "DO"; .byte 'S'|0x80 +os_dos: .ascii "DO"; .byte 'S'|0x80 os_linux: .ascii "Linu"; .byte 'x'|0x80 os_freebsd: .ascii "Free" -os_bsd: .ascii "BS"; .byte 'D'|0x80 +os_bsd: .ascii "BS"; .byte 'D'|0x80 .org PRT_OFF-0xe,0x90 @@ -406,14 +406,14 @@ # is part of the same string. # drive: .ascii "Drive " -nxtdrv: .byte 0x0 # Next drive number +nxtdrv: .byte 0x0 # Next drive number opt: .byte 0x0 # Option -setdrv: .byte 0x80 # Drive to force +setdrv: .byte 0x80 # Drive to force flags: .byte FLAGS # Flags ticks: .word TICKS # Delay # # here is the 64 byte partition table that fdisk would fiddle with. # -partbl: .fill 0x40,0x1,0x0 # Partition table +partbl: .fill 0x40,0x1,0x0 # Partition table .word MAGIC # Magic number ==== //depot/projects/power/sys/boot/i386/boot0/boot0ext.s#2 (text+ko) ==== @@ -13,7 +13,7 @@ # purpose. # -# $FreeBSD: src/sys/boot/i386/boot0/boot0ext.s,v 1.1 2004/03/26 18:46:31 obrien Exp $ +# $FreeBSD: src/sys/boot/i386/boot0/boot0ext.s,v 1.5 2004/04/20 13:34:18 obrien Exp $ # A 1024-byte boot manager. @@ -34,6 +34,7 @@ .set KEY_ENTER,0x1c # Enter key scan code .set KEY_F1,0x3b # F1 key scan code + .set KEY_1,0x02 # #1 key scan code # # Flag bits @@ -45,7 +46,7 @@ # Addresses in the sector of embedded data values. # Accessed with negative offsets from the end of the relocated sectors (%bp). # - .set _PRT_END,(FAKE-(ORIGIN+SECTOR_SIZE)) + .set _PRT_END,(FAKE-(ORIGIN+SECTOR_SIZE*(NUM_SECTORS-1))) .set _NXTDRV,-(_PRT_END+0x48) # Next drive .set _OPT,-(_PRT_END+0x47) # Default option .set _SETDRV,-(_PRT_END+0x46) # Drive to force @@ -71,9 +72,9 @@ movw %ax,%ds # data movw %ax,%ss # Set up movw $LOAD,%sp # stack -# +# # End signature code -# +# # # Set address for variable space beyond code, and clear it. # Notice that this is also used to point to the values embedded in the block, @@ -86,8 +87,18 @@ stosw # them incb -0xe(%di) # Sector number 1 # +# Check what flags were loaded with us; specifically, use a predefined Drive. +# If what the bios gives us is bad, use the '0' in the block instead, as well. +# + testb $FL_SETDRV,LOAD+flags-start # Set number drive? + jnz boot.1 # Yes + testb %dl,%dl # Drive number valid? + js boot.2 # Possibly (0x80 set) +boot.1: movb LOAD+setdrv-start,%dl # Drive number to use +boot.2: +# # Reload all of boot0 (including the extra sectors) into memory at the -# relocation address. +# relocation address. # push %dx # Save drive number movw $start,%bx # Origin we were linked for @@ -100,19 +111,10 @@ # jmp main+ORIGIN-LOAD # To relocated code # -# Check what flags were loaded with us; specifically, use a predefined Drive. -# If what the bios gives us is bad, use the '0' in the block instead, as well. -# -main: testb $FL_SETDRV,_FLAGS(%bp) # Set number drive? - jnz main.1 # Yes - testb %dl,%dl # Drive number valid? - js main.2 # Possibly (0x80 set) -main.1: movb _SETDRV(%bp),%dl # Drive number to use -# # Whatever we decided to use, now store it into the fake # partition entry that lives in the data space above us. # -main.2: movb %dl,_FAKE(%bp) # Save drive number +main: movb %dl,_FAKE(%bp) # Save drive number callw putn # To new line pushw %dx # Save drive number # @@ -128,7 +130,7 @@ # Loop around on the partition table, printing values until we # pass a 256 byte boundary. The end of loop test is at main.5. # -main.3: movb %ch,-0x4(%bx) # Zero active flag (ch == 0) +main.3: movb %ch,-0x4(%bx) # Zero active flag (ch == 0) btw %dx,_FLAGS(%bp) # Entry enabled? jnc main.5 # No # @@ -155,16 +157,16 @@ # pointing at its first element which points to a "?". # addw $TBL1SZ,%di # Adjust -main.4: movb (%di),%cl # Partition +main.4: movb (%di),%cl # Partition addw %cx,%di # description callw putx # Display it -main.5: incw %dx # Next item +main.5: incw %dx # Next item addb $0x10,%bl # Next entry jnc main.3 # Till done # # Passed a 256 byte boundary.. # table is finished. -# Add one to the drive number and check it is valid, +# Add one to the drive number and check it is valid, # popw %ax # Drive number subb $0x80-0x1,%al # Does next @@ -186,7 +188,7 @@ # This also is part of the printed drive string so add 0x80 to indicate # end of string. # -main.6: addb $'0'|0x80,%al # Save next +main.6: addb $'0'|0x80,%al # Save next movb %al,_NXTDRV(%bp) # drive number movw $drive,%di # Display callw putx # item @@ -194,7 +196,7 @@ # Now that we've printed the drive (if we needed to), display a prompt. # Get ready for the input by noting the time. # -main.7: movw $prompt,%si # Display +main.7: movw $prompt,%si # Display callw putstr # prompt movb _OPT(%bp),%dl # Display decw %si # default @@ -203,11 +205,11 @@ int $0x1a # system time movw %dx,%di # Ticks when addw _TICKS(%bp),%di # timeout -# +# # Busy loop, looking for keystrokes but # keeping one eye on the time. # -main.8: movb $0x1,%ah # BIOS: Check +main.8: movb $0x1,%ah # BIOS: Check int $0x16 # for keypress jnz main.11 # Have one xorb %ah,%ah # BIOS: Get @@ -217,12 +219,12 @@ # # If timed out or defaulting, come here. # -main.9: movb _OPT(%bp),%al # Load default +main.9: movb _OPT(%bp),%al # Load default jmp main.12 # Join common code # # User's last try was bad, beep in displeasure. # Since nothing was printed, just continue on as if the user -# hadn't done anything. This gives the effect of the user getting a beep +# hadn't done anything. This gives the effect of the user getting a beep # for all bad keystrokes but no action until either the timeout # occurs or the user hits a good key. # @@ -245,6 +247,9 @@ # subb $KEY_F1,%al # Less F1 scan code cmpb $0x4,%al # F1..F5? + jna main.12 # Yes + subb $(KEY_1 - KEY_F1),%al # Less #1 scan code + cmpb $0x4,%al # #1..#5? ja main.10 # No # # We have a selection. @@ -263,7 +268,7 @@ movw $fake,%si # Partition for write movb (%si),%dl # Drive number movw %si,%bx # Partition for read - cmpb $0x4,%al # F5 pressed? + cmpb $0x4,%al # F5/#5 pressed? pushf # Save je main.13 # Yes shlb $0x4,%al # Point to @@ -285,10 +290,10 @@ # If going to next drive, replace drive with selected one. # Remember to un-ascii it. Hey 0x80 is already set, cool! # - jne main.15 # If not F5 + jne main.15 # If not F5/#5 movb _NXTDRV(%bp),%dl # Next drive subb $'0',%dl # number -# +# # load selected bootsector to the LOAD location in RAM. # If it fails to read or isn't marked bootable, treat it # as a bad selection. @@ -306,7 +311,7 @@ # Display routines # -putkey: movb $'F',%al # Display +putkey: movb $'F',%al # Display callw putchr # 'F' movb $'1',%al # Prepare addb %dl,%al # digit @@ -325,14 +330,14 @@ putn: movw $crlf,%si # To next line -putstr: lodsb # Get byte +putstr: lodsb # Get byte testb $0x80,%al # End of string? jnz putstr.2 # Yes putstr.1: callw putchr # Display char jmp putstr # Continue putstr.2: andb $~0x80,%al # Clear MSB -putchr: pushw %bx # Save +putchr: pushw %bx # Save movw $0x7,%bx # Page:attribute movb $0xe,%ah # BIOS: Display int $0x10 # character @@ -355,7 +360,7 @@ # to use the EDD stuff with the LBA offset instead of CHS. However, # use CHS if at all possible. -intx13: movb 0x1(%si),%dh # Load head +intx13: movb 0x1(%si),%dh # Load head movw 0x2(%si),%cx # Load cylinder:sector pushw %si # Save movw %sp,%di # Save @@ -400,25 +405,25 @@ .org PRT_OFF-0xe,0x90 # # These values are sometimes changed before writing back to the drive -# Be especially careful that nxtdrv: must come after drive:, as it +# Be especially careful that nxtdrv: must come after drive:, as it # is part of the same string. # # Note that the 'drive' string variable is used as the second signature # check in boot0cfg(8). # version_minor: .byte 0x1 # minor version -version_major: .byte 0x1 # major version +version_major: .byte 0x1 # major version drive: .ascii "Drive " -nxtdrv: .byte 0x0 # Next drive number +nxtdrv: .byte 0x0 # Next drive number opt: .byte 0x0 # Option -setdrv: .byte 0x80 # Drive to force +setdrv: .byte 0x80 # Drive to force flags: .byte FLAGS # Flags ticks: .word TICKS # Delay # # here is the 64 byte partition table that fdisk would fiddle with. # -partbl: .fill 0x40,0x1,0x0 # Partition table +partbl: .fill 0x40,0x1,0x0 # Partition table .word MAGIC # Magic number # @@ -428,7 +433,7 @@ # Menu strings item: .ascii " "; .byte ' '|0x80 -prompt: .ascii "\nDefault:"; .byte ' '|0x80 +prompt: .ascii "\nDefault:"; .byte ' '|0x80 crlf: .ascii "\r"; .byte '\n'|0x80 # Partition type tables @@ -442,7 +447,7 @@ # # These values indicate bootable types we know the names of # -table1: .byte 0x1, 0x4, 0x6, 0x7, 0xb, 0xc, 0xe, 0x63, 0x83 +table1: .byte 0x1, 0x4, 0x6, 0x7, 0xb, 0xc, 0xe, 0x42, 0x63, 0x83 .byte 0x9f, 0xa5, 0xa6, 0xa9 table1_end: # @@ -453,10 +458,11 @@ .byte os_dos-. # DOS .byte os_dos-. # DOS .byte os_dos-. # DOS - .byte os_nt-. # NT or OS/2 + .byte os_nt-. # NT/XP or OS/2 + .byte os_windows-. # Windows 32-bit FAT + .byte os_windows-. # Windows 32-bit FAT ext int 13 .byte os_windows-. # Windows - .byte os_windows-. # Windows - .byte os_windows-. # Windows + .byte os_windows-. # Windows 2000 dyn ext .byte os_unix-. # UNIX .byte os_linux-. # Linux .byte os_bsdos-. # BSD/OS @@ -464,13 +470,13 @@ .byte os_openbsd-. # OpenBSD .byte os_netbsd-. # NetBSD # -# And here are the strings themselves. 0x80 or'd into a byte indicates +# And here are the strings themselves. 0x80 or'd into a byte indicates # the end of the string. (not so great for Russians but...) # os_misc: .ascii "Unknow"; .byte 'n'|0x80 -os_dos: .ascii "DO"; .byte 'S'|0x80 -os_nt: .ascii "Windows N"; .byte 'T'|0x80 -os_windows: .ascii "Window"; .byte 's'|0x80 +os_dos: .ascii "DO"; .byte 'S'|0x80 +os_nt: .ascii "Windows NT/X"; .byte 'P'|0x80 +os_windows: .ascii "Window"; .byte 's'|0x80 os_unix: .ascii "UNI"; .byte 'X'|0x80 os_linux: .ascii "Linu"; .byte 'x'|0x80 os_freebsd: .ascii "FreeBS"; .byte 'D'|0x80 ==== //depot/projects/power/sys/boot/i386/boot0/boot0sio.s#3 (text+ko) ==== @@ -14,7 +14,7 @@ # purpose. # -# $FreeBSD: src/sys/boot/i386/boot0/boot0sio.s,v 1.3 2004/01/06 18:46:35 obrien Exp $ +# $FreeBSD: src/sys/boot/i386/boot0/boot0sio.s,v 1.4 2004/04/20 03:15:59 obrien Exp $ # A 512-byte boot manager which uses a serial console on COM1. @@ -107,12 +107,12 @@ jnz main.1 # Yes testb %dl,%dl # Drive number valid? js main.2 # Possibly (0x80 set) -main.1: movb _SETDRV(%bp),%dl # Drive number to use +main.1: movb _SETDRV(%bp),%dl # Drive number to use # # Whatever we decided to use, now store it into the fake # partition entry that lives in the data space above us. # -main.2: movb %dl,_FAKE(%bp) # Save drive number +main.2: movb %dl,_FAKE(%bp) # Save drive number callw putn # To new line pushw %dx # Save drive number # @@ -128,7 +128,7 @@ # Loop around on the partition table, printing values until we # pass a 256 byte boundary. The end of loop test is at main.5. # -main.3: movb %ch,-0x4(%bx) # Zero active flag (ch == 0) +main.3: movb %ch,-0x4(%bx) # Zero active flag (ch == 0) btw %dx,_FLAGS(%bp) # Entry enabled? jnc main.5 # No # @@ -155,10 +155,10 @@ # pointing at its first element which points to a "?". # addw $TBL1SZ,%di # Adjust -main.4: movb (%di),%cl # Partition +main.4: movb (%di),%cl # Partition addw %cx,%di # description callw putx # Display it -main.5: incw %dx # Next item +main.5: incw %dx # Next item addb $0x10,%bl # Next entry jnc main.3 # Till done # @@ -186,7 +186,7 @@ # This also is part of the printed drive string so add 0x80 to indicate # end of string. # -main.6: addb $'0'|0x80,%al # Save next +main.6: addb $'0'|0x80,%al # Save next movb %al,_NXTDRV(%bp) # drive number movw $drive,%di # Display callw putx # item @@ -194,7 +194,7 @@ # Now that we've printed the drive (if we needed to), display a prompt. # Get ready for the input byte noting the time. # -main.7: movw $prompt,%si # Display +main.7: movw $prompt,%si # Display callw putstr # prompt movb _OPT(%bp),%dl # Display decw %si # default @@ -224,7 +224,7 @@ # # If timed out or defaulting, come here. # -main.9: movb _OPT(%bp),%al # Load default +main.9: movb _OPT(%bp),%al # Load default jmp main.12 # Join common code # # User's last try was bad, beep in displeasure. @@ -239,7 +239,7 @@ # # Check the character we just got on the serial port. # -main.11: movb $0x02,%ah # BIOS: Receive +main.11: movb $0x02,%ah # BIOS: Receive int $0x14 # COM Byte # # If it's CR act as if timed out. @@ -316,7 +316,7 @@ # Display routines # -putkey: movb $ASCII_1,%al # Prepare +putkey: movb $ASCII_1,%al # Prepare addb %dl,%al # digit jmp putstr.1 # Display the rest @@ -333,7 +333,7 @@ putn: movw $crlf,%si # To next line -putstr: lodsb # Get byte +putstr: lodsb # Get byte testb $0x80,%al # End of string? jnz putstr.2 # Yes putstr.1: callw putchr # Display char @@ -350,7 +350,7 @@ # One-sector disk I/O routine -intx13: movb 0x1(%si),%dh # Load head +intx13: movb 0x1(%si),%dh # Load head movw 0x2(%si),%cx # Load cylinder:sector movb $0x1,%al # Sector count pushw %si # Save @@ -374,7 +374,7 @@ # Menu strings item: .ascii " "; .byte ' '|0x80 -prompt: .ascii "\nDef:"; .byte ' '|0x80 +prompt: .ascii "\nDef:"; .byte ' '|0x80 crlf: .ascii "\r"; .byte '\n'|0x80 # Partition type tables @@ -410,10 +410,10 @@ # the end of the string. (not so great for Russians but...) # os_misc: .ascii "?"; .byte '?'|0x80 -os_dos: .ascii "DO"; .byte 'S'|0x80 +os_dos: .ascii "DO"; .byte 'S'|0x80 os_linux: .ascii "Linu"; .byte 'x'|0x80 os_freebsd: .ascii "Free" -os_bsd: .ascii "BS"; .byte 'D'|0x80 +os_bsd: .ascii "BS"; .byte 'D'|0x80 .org PRT_OFF-0xe,0x90 @@ -425,14 +425,14 @@ # is part of the same string. # drive: .ascii "Drive " -nxtdrv: .byte 0x0 # Next drive number +nxtdrv: .byte 0x0 # Next drive number opt: .byte 0x0 # Option -setdrv: .byte 0x80 # Drive to force +setdrv: .byte 0x80 # Drive to force flags: .byte FLAGS # Flags ticks: .word TICKS # Delay # # here is the 64 byte partition table that fdisk would fiddle with. # -partbl: .fill 0x40,0x1,0x0 # Partition table +partbl: .fill 0x40,0x1,0x0 # Partition table .word MAGIC # Magic number ==== //depot/projects/power/sys/cam/scsi/scsi_da.c#6 (text+ko) ==== @@ -27,10 +27,9 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.166 2004/04/19 04:14:09 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.167 2004/04/19 13:38:10 mux Exp $"); #ifdef _KERNEL -#include "opt_da.h" #include "opt_hw_wdog.h" #endif /* _KERNEL */ ==== //depot/projects/power/sys/compat/ndis/kern_ndis.c#9 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/compat/ndis/kern_ndis.c,v 1.52 2004/04/16 00:04:28 wpaul Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/ndis/kern_ndis.c,v 1.53 2004/04/22 07:08:39 wpaul Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -99,6 +99,7 @@ int np_state; }; +static void ndis_return(void *); static int ndis_create_kthreads(void); static void ndis_destroy_kthreads(void); static void ndis_stop_thread(int); @@ -724,16 +725,37 @@ return(0); } +static void +ndis_return(arg) + void *arg; +{ + struct ndis_softc *sc; + __stdcall ndis_return_handler returnfunc; + ndis_handle adapter; + ndis_packet *p; + uint8_t irql; + + p = arg; + sc = p->np_softc; + adapter = sc->ndis_block.nmb_miniportadapterctx; + + if (adapter == NULL) + return; + + returnfunc = sc->ndis_chars.nmc_return_packet_func; + irql = FASTCALL1(hal_raise_irql, DISPATCH_LEVEL); + returnfunc(adapter, p); + FASTCALL1(hal_lower_irql, irql); + + return; +} + void ndis_return_packet(buf, arg) void *buf; /* not used */ void *arg; { - struct ndis_softc *sc; - ndis_handle adapter; ndis_packet *p; - __stdcall ndis_return_handler returnfunc; - uint8_t irql; if (arg == NULL) return; @@ -747,14 +769,7 @@ if (p->np_refcnt) return; - sc = p->np_softc; - returnfunc = sc->ndis_chars.nmc_return_packet_func; - adapter = sc->ndis_block.nmb_miniportadapterctx; - if (adapter != NULL) { - irql = FASTCALL1(hal_raise_irql, DISPATCH_LEVEL); - returnfunc(adapter, p); - FASTCALL1(hal_lower_irql, irql); - } + ndis_sched(ndis_return, p, NDIS_SWI); return; } ==== //depot/projects/power/sys/compat/ndis/ntoskrnl_var.h#4 (text+ko) ==== @@ -29,7 +29,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/compat/ndis/ntoskrnl_var.h,v 1.14 2004/04/16 00:04:28 wpaul Exp $ + * $FreeBSD: src/sys/compat/ndis/ntoskrnl_var.h,v 1.15 2004/04/20 02:27:38 wpaul Exp $ */ #ifndef _NTOSKRNL_VAR_H_ @@ -204,7 +204,7 @@ ((td)->td_proc->p_flag & P_KTHREAD == FALSE) #define AT_DISPATCH_LEVEL(td) \ - ((td)->td_priority == PI_REALTIME) + ((td)->td_base_pri == PI_REALTIME) #define AT_DIRQL_LEVEL(td) \ ((td)->td_priority <= PI_NET) ==== //depot/projects/power/sys/compat/ndis/subr_hal.c#5 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_hal.c,v 1.11 2004/04/16 00:04:28 wpaul Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_hal.c,v 1.12 2004/04/19 22:39:04 wpaul Exp $"); #include <sys/param.h> #include <sys/types.h> @@ -313,9 +313,13 @@ if (irql < hal_irql()) panic("IRQL_NOT_LESS_THAN"); + if (hal_irql() == DISPATCH_LEVEL) + return(DISPATCH_LEVEL); + mtx_lock_spin(&sched_lock); - oldirql = curthread->td_priority; + oldirql = curthread->td_base_pri; sched_prio(curthread, PI_REALTIME); + curthread->td_base_pri = PI_REALTIME; mtx_unlock_spin(&sched_lock); return(oldirql); @@ -328,10 +332,14 @@ __asm__ __volatile__ ("" : "=c" (oldirql)); + if (oldirql == DISPATCH_LEVEL) + return; + if (hal_irql() != DISPATCH_LEVEL) panic("IRQL_NOT_GREATER_THAN"); mtx_lock_spin(&sched_lock); + curthread->td_base_pri = oldirql; sched_prio(curthread, oldirql); mtx_unlock_spin(&sched_lock); ==== //depot/projects/power/sys/conf/NOTES#13 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1215 2004/04/19 03:33:54 njl Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1219 2004/04/21 20:18:06 scottl Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -27,7 +27,7 @@ # order. All device and option lines must be described by a comment that # doesn't just expand the device or option name. Use only a concise # comment on the same line if possible. Very detailed descriptions of -# devices and subsystems belong in manpages. +# devices and subsystems belong in man pages. # # A space followed by a tab separates 'options' from an option name. Two # spaces followed by a tab separate 'device' from a device name. Comments @@ -189,7 +189,7 @@ options WITNESS_SKIPSPIN # MUTEX_PROFILING - Profiling mutual exclusion locks (mutexes). See -# the MUTEX_PROFILING(9) manual page for details. +# MUTEX_PROFILING(9) for details. options MUTEX_PROFILING @@ -570,8 +570,8 @@ # from traceroute and similar tools. # # PFIL_HOOKS enables an abtraction layer which is meant to be used in -# network code where filtering is required. See the pfil(9) man page. -# This option is required by the IPFILTER option and the PF device. +# network code where filtering is required. See pfil(9). This option is +# required by the IPFILTER option and the PF device. # # TCPDEBUG enables code which keeps traces of the TCP state machine # for sockets with the SO_DEBUG option set, which can then be examined @@ -597,8 +597,7 @@ # The MBUF_STRESS_TEST option enables options which create # various random failures / extreme cases related to mbuf -# functions. See the mbuf(9) manpage for a list of available -# test cases. +# functions. See mbuf(9) for a list of available test cases. options MBUF_STRESS_TEST # RANDOM_IP_ID causes the ID field in IP packets to be randomized @@ -618,10 +617,18 @@ # options TCP_DROP_SYNFIN #drop TCP packets with SYN+FIN -# DUMMYNET enables the "dummynet" bandwidth limiter. You need -# IPFIREWALL as well. See the dummynet(4) and ipfw(8) manpages for more info. -# When you run DUMMYNET it is advisable to also have "options HZ=1000" -# to achieve a smoother scheduling of the traffic. +# TCP_SIGNATURE adds support for RFC 2385 (TCP-MD5) digests. These are +# carried in TCP option 19. This option is commonly used to protect +# TCP sessions (e.g. BGP) where IPSEC is not available nor desirable. +# This is enabled on a per-socket basis using the TCP_MD5SIG socket option. +# This requires the use of 'device crypto', 'options FAST_IPSEC', and +# 'device cryptodev' as it depends on the non-KAME IPSEC SADB code. +#options TCP_SIGNATURE #include support for RFC 2385 + +# DUMMYNET enables the "dummynet" bandwidth limiter. You need IPFIREWALL +# as well. See dummynet(4) and ipfw(8) for more info. When you run +# DUMMYNET it is advisable to also have "options HZ=1000" to achieve a +# smoother scheduling of the traffic. # # BRIDGE enables bridging between ethernet cards -- see bridge(4). # You can use IPFIREWALL and DUMMYNET together with bridging. @@ -1264,15 +1271,14 @@ # Aic7xxx driver debugging options. See sys/dev/aic7xxx/aic7xxx.h options AHC_DEBUG_OPTS -# Print register bitfields in debug output. Adds ~128k to driver. -# See the ahc(4) manpage +# Print register bitfields in debug output. Adds ~128k to driver +# See ahc(4). options AHC_REG_PRETTY_PRINT # Compile in aic79xx debugging code. options AHD_DEBUG -# Aic79xx driver debugging options. Adds ~215k to driver. -# See the ahd(4) manpage +# Aic79xx driver debugging options. Adds ~215k to driver. See ahd(4). options AHD_DEBUG_OPTS=0xFFFFFFFF # Print human-readable register definitions when debugging @@ -1756,8 +1762,7 @@ # # This has support for a large number of new audio cards, based on # CS423x, OPTi931, Yamaha OPL-SAx, and also for SB16, GusPnP. -# For more information about this driver and supported cards, -# see the pcm.4 man page. +# For more information about this driver and supported cards, see pcm(4). # # The flags of the device tells the device a bit more info about the # device that normally is obtained through the PnP interface. @@ -2401,8 +2406,6 @@ # items in loops, etc. # Yet more undocumented options for linting. -# Broken: -##options ASR_MEASURE_PERFORMANCE # BKTR_ALLOC_PAGES has no effect except to cause warnings, and # BROOKTREE_ALLOC_PAGES hasn't actually been superseded by it, since the # driver still mostly spells this option BROOKTREE_ALLOC_PAGES. ==== //depot/projects/power/sys/conf/files#11 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.886 2004/04/14 18:13:16 njl Exp $ +# $FreeBSD: src/sys/conf/files,v 1.888 2004/04/20 15:42:16 njl Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -450,7 +450,6 @@ dev/hfa/fore_if.c optional hfa dev/hfa/fore_init.c optional hfa dev/hfa/fore_intr.c optional hfa -#dev/hfa/fore_load.c optional hfa nowerror dev/hfa/fore_output.c optional hfa dev/hfa/fore_receive.c optional hfa dev/hfa/fore_stats.c optional hfa ==== //depot/projects/power/sys/conf/options#13 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options,v 1.441 2004/04/19 03:33:55 njl Exp $ +# $FreeBSD: src/sys/conf/options,v 1.442 2004/04/21 20:18:06 scottl Exp $ # # On the handling of kernel options # @@ -413,9 +413,6 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200404221738.i3MHcuva070830>