Commit Graph

125212 Commits

Author SHA1 Message Date
martin a4ec3066f6 Adapt to promlib changes on sparc. 2004-03-22 08:36:28 +00:00
lukem 637d87650a fdisk(8) (et al) fixes to avoid using the NT DSN in the MBR. 2004-03-22 07:21:10 +00:00
lukem 455da8e60b Move mbr_bootsel from offset 404 to offset 400 in struct mbr_sector to
leave 4 bytes for the Windows NT Drive Serial Number (DSN) at 440-443
(as mbr_sector.mbr_dsn).

Ensure that all the MBR & PBR code reserves space for mbr_sector.mbr_dsn.

Leave the bootsel magic number at 444-445 as mbr_sector.mbr_bootsel_magic
(instead of mbr_sector.mbr_bootsel.mbrbs_magic), but use 0xb5e1 (MBR_BS_MAGIC)
instead of 0xaa55 (MBR_MAGIC) to indicate that this change has occurred.

Rework MBR_BS_NEWMBR to mean "mbr_bootsel has moved to 400".

Modify fdisk(8) to automatically relocate the mbr_bootsel from 404 to 400
if mbr_bootsel_magic is the old value (0xaa55), and unset MBR_BS_NEWMBR
to flag that new mbr_bootsel code must be used if updating the MBR.


These changes fixes a problem where Windows 2000 or Windows XP would corrupt
the last 3 bytes + NUL of MBR partition 3's bootsel name if the bootsel name
was 5 characters long, replacing bytes 6-9 with the DSN.
Also, by explicitly reserving the space for the DSN we prevent problems in the
future if non bootsel MBR or PBR code had other information at bytes 440-443.
2004-03-22 07:11:00 +00:00
matt 833b325a66 Change default data size to 256MB.
(A native NetBSD build will no longer with a limit of 128MB).
2004-03-22 05:25:22 +00:00
lukem fcfc427464 Use .Pp instead of .br as appropriate.
(This needs more work)
2004-03-22 05:07:56 +00:00
groo 19aa054c0d Actually install the new man pages. 2004-03-22 00:48:04 +00:00
martin 3d672d7ea6 Update uvm_bio.c 32bit sparc64 optimization entry. 2004-03-22 00:46:06 +00:00
martin 6582666bc7 Realy disable optimization for 32bit kernels when compiling uvm_bio.c. 2004-03-22 00:43:37 +00:00
martin fe91b9b277 Create a symlink for <sparc/...> include paths as well, the new openfirm.h
needs it.
2004-03-21 23:41:21 +00:00
dsl a78ca7231d When searching for the superblock, don't pick an ffsv1 superblock from the
location where we expect to find an ffsv2 superblock.
It could be the first alternate for a ffsv1 filesystem with 64k blocks.
Fixes part of PR kern/24809
2004-03-21 22:07:22 +00:00
oster 43ccce7d13 Why start a timer, and then just ignore it? *punt* 2004-03-21 21:20:46 +00:00
dsl 43d718b987 When searching for the superblock, don't pick an ffsv1 superblock from the
location where we expect to find an ffsv2 superblock.
It could be the first alternate for a ffsv1 filesystem with 64k blocks.
Fixes part of PR kern/24809
2004-03-21 21:18:40 +00:00
oster 78d093eaf5 Yesterday's fix to rf_disks.c (rev 1.51) was necessary, but not
sufficient to clobber this nasty little bug.  The behaviour observed
was a panic when doing a 'raidctl -f' on a component when DAGs were
in flight for the given RAID set.  Unfortunatly, the faulty behaviour
was very intermittent, and it was difficult to not only reliably
reproduce the bug (nor determine when it was fixed!) but also to even
figure out what might be the cause of the problem.

The real issue was that ci_vp for the failed component was being
set to NULL in rf_FailDisk(), but with DAGs still in flight, some
of them were still expecting to use ci_vp to determine where to
read to/write from!

The fix is to call rf_SuspendNewRequestsAndWait() from rf_FailDisk()
to make sure the RAID set is quiet and all IOs have completed before
mucking with ci_vp and other data structures.  rf_ResumeNewRequests()
is then used to continue on as usual.
2004-03-21 21:08:08 +00:00
dsl 05f998d8c6 Dunno why this code is playing 'hunt the superblock', but stop it
finding an ffsv1 sb at 64k.
Also stop it playing with fs that have 'FS_FLAGS_UPDATED' set.
It certainly doesn't act on that falg, and my guess is that it is
playing the pre-ffsv2 fs.
Fixes part of PR kern/24809
2004-03-21 21:02:01 +00:00
dsl 13e2deaa83 When searching for the superblock, don't pick an ffsv1 superblock from the
location where we expect to find an ffsv2 superblock.
It could be the first alternate for a ffsv1 filesystem with 64k blocks.
Fixes part of PR kern/24809
2004-03-21 20:30:38 +00:00
dsl 3d7fa497c5 Don't use 1st alternate superblock at offset 64k for ffsv1.
Fixes part of PR kern/24809
2004-03-21 20:12:16 +00:00
dsl 2dc6ea479c Don't use an ffsv1 superblock from 64k (SBLOCK_UFS2) when looking
for the main filesystem superblock.
64k is the offset of the first alternate if the blocksize if 64k.
Fixes part of PR kern/24809
2004-03-21 20:01:41 +00:00
dsl d332d2a959 When searching for the superblock, check that the fs_sblockloc field
matches the location we read it from to ensure we don't have one of the
alternate superblocks.
Fixes part of PR kern/24809
2004-03-21 19:35:23 +00:00
dsl de51f399c0 When searching for the superblock, check that the fs_sblockloc field
matches the location we read it from to ensure we don't have one of the
alternate superblocks.
Fixes part of PR kern/24809
2004-03-21 19:13:59 +00:00
dsl 221ec38d03 Rework superblock validation logic to make adding validity tests easier.
Ensure that we don't use the first alternate superblock of a ffsv1
filesystem with 64k blocks (it is in the same place as an ffsv2 sb).
Fixes part of PR kern/24809
2004-03-21 18:48:24 +00:00
snj a726afffcb New sentence, new line. 2004-03-21 18:48:20 +00:00
cl d636a8b9cb On MP, exit postsig() when another LWP has already handled the signal while
this LWP was waiting for the kernel lock.

Fixes PR kern/24829
2004-03-21 18:41:38 +00:00
matt 4b376ded6a Change longjmp on VAX (ELF) to use setcontext instead of sigreturn14. 2004-03-21 18:19:52 +00:00
jdolecek b86e67870a add /rescue/mount_smbfs 2004-03-21 18:07:45 +00:00
matt ca145383c7 Change longjmp to use setcontext instead of sigreturn14. Change setjmp
to use symbolic offsets via assym.h
2004-03-21 18:04:27 +00:00
kim 92703eeedb AMD CPUID 0x6a0 is an Athlon XP processor model 10, revision A2.
http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/27532.pdf
2004-03-21 17:59:44 +00:00
martin 3259bd6456 Bail out with a proper error message when mandatory configuration entries
are missing. While there improve error messages slightly.
Inspired by PR kern/24807.
2004-03-21 16:31:22 +00:00
pk 4021f0eb39 Use prom_getpropstring(). 2004-03-21 16:29:42 +00:00
martin acbc97c970 Avoid NULL pointer dereferences on incomplete setup by userland.
Fixes PR kern/24807.
2004-03-21 16:29:40 +00:00
itohy 7519b9aacf Add notice on "relocation truncated to fit: R_68K_16" errors of ld.
Cleanup consistency check.
2004-03-21 16:25:56 +00:00
pk e8397400f7 Some more promlib interface conversions. 2004-03-21 16:09:13 +00:00
jdolecek e36d8bbf0f in smbfs_smb_lookup(), check the returned (found) file name matches
exactly the filename we wanted to lookup, so that file names differing
in case are refused right away

resolves the chdir part of PR kern/22835 by Rob Quinn (cd succeeded when
it was supposed to fail)
2004-03-21 16:04:07 +00:00
junyoung 2ed9c2c7b7 ANSIfy. 2004-03-21 15:37:02 +00:00
pk 7446de9195 Add sparc64 cell_t definitions.
Change OF_interpret() prototype to the unabridged version.
2004-03-21 15:12:35 +00:00
jdolecek ca851523f4 add mount_smbfs 2004-03-21 15:11:21 +00:00
pk 3b45f4cb4c OF_stdin() and OF_stdout() are obsolete. 2004-03-21 15:09:25 +00:00
pk 05a2b2300b Use the promlib I/O routines. 2004-03-21 15:08:24 +00:00
pk b865f2441c `stdin' and `stdout' are obsolete. 2004-03-21 15:07:00 +00:00
pk 107e759b1c Two commas went missing in last commit. 2004-03-21 14:28:47 +00:00
pk 2a26804b1a Reach over to the sparc openfirm & openprom implementation. 2004-03-21 14:25:51 +00:00
pk f7fe3a3531 Partial switch to the promlib interface. 2004-03-21 14:22:52 +00:00
pk f1bff50602 Mostly switch to promlib interface. Postpone the use of prom_makememarr()
since the sparc64 memory range properties aren't compatible yet.

Fix pmap_calculate_colors() in the process.
2004-03-21 14:19:30 +00:00
pk 0d449eda9b Switch to promlib interface. 2004-03-21 14:15:35 +00:00
pk e0b67a7f3e Drop prom_printf() + some other unused stuff. 2004-03-21 14:13:15 +00:00
pk 6521621036 Switch to the sparc prom library. 2004-03-21 14:10:08 +00:00
pk fb7560550b Add sparc/sparc/promlib.c. 2004-03-21 14:07:01 +00:00
pk ef98c2defb Reach over to the sparc versions. 2004-03-21 14:05:43 +00:00
pk afe147460e Add openfirmware() entry point, since it's no longer defined as a macro
in openfirm.c.
2004-03-21 14:04:30 +00:00
pk b5a947488b * Add OF_claim() for sparc64.
* Change OF_interpret() to the unabridged version.
* Sync OF_sym2val() and OF_val2sym() with the psarc64 versions.
2004-03-21 14:02:39 +00:00
pk 4b86fd8eed opf_getboot{path,file,args}: return static storage so these can be used
in the early boot phase.

Define prom_interpret() to be a simple form of the Openfirmware OF_interpret().

Re-arrange OLDMON code in prom_getidprom() to make it compile on sparc64.
2004-03-21 13:57:58 +00:00