PERFORCE change 51574 for review
Warner Losh
imp at FreeBSD.org
Thu Apr 22 10:38:59 PDT 2004
http://perforce.freebsd.org/chv.cgi?CH=51574
Change 51574 by imp at 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) <<<
More information about the p4-projects
mailing list