Commit Graph

6278 Commits

Author SHA1 Message Date
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
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
junyoung 2ed9c2c7b7 ANSIfy. 2004-03-21 15:37:02 +00:00
simonb 84b7d801ac Only initialise ksi if we use it. 2004-03-21 10:56:24 +00:00
minoura 88f55c570c Fix typo. 2004-03-15 05:31:46 +00:00
minoura 17724e2968 Stop the timer explicitly before initialization.
Apparently certain BIOS requires this.  Noted by yamt.
2004-03-15 01:23:49 +00:00
minoura 10cb1fb645 Add ichlpcib. 2004-03-14 08:09:42 +00:00
minoura b332b550b9 Add Intel ICHn PCI-LPC bridge driver.
It is a pcib, but with sysmon watchdog support.
2004-03-14 08:04:38 +00:00
cl ea5ec0212d add kernel part of concurrency support for SA on MP systems
- move per VP data into struct sadata_vp referenced from l->l_savp
  * VP id
  * lock on VP data
  * LWP on VP
  * recently blocked LWP on VP
  * queue of LWPs woken which ran on this VP before sleep
  * faultaddr
  * LWP cache for upcalls
  * upcall queue
- add current concurrency and requested concurrency variables
- make process exit run LWP on all VPs
- make signal delivery consider all VPs
- make timer events consider all VPs
- add sa_newsavp to allocate new sadata_vp structure
- add sa_increaseconcurrency to prepare new VP
- make sys_sa_setconcurrency request new VP or wakeup idle VP
- make sa_yield lower current concurrency
- set sa_cpu = VP id in upcalls
- maintain cached LWPs per VP
2004-03-14 01:08:47 +00:00
dsl ae7b924322 Translate ascii keycode to help those with azerty keyboard type straight. 2004-03-13 22:41:37 +00:00
bjh21 dff5222d3a Abstract the interface between pckbc(4), and the pckbd(4) and pms(4)
drivers that attach to it.  This allows for other host interface chips
that use the same keyboards and mice, such as the ones in the ARM
IOMD20, ARM7500, and SA-1111.  The PC-compatible driver is still
called pckbc(4), and the new abstraction layer is "pckbport", so the
child devices have moved from sys/dev/pckbc to sys/dev/pckbport, which
also contains some code shared between all host controllers.  To avoid
incompatibility, pckbdreg.h is still installed in
/usr/include/dev/pckbc.

In theory, this shouldn't cause any behavioural changes in the drivers
concerned.  Thy just use rather more function pointers than before.  Tested
on i386 and (with a new host driver) acorn32.  Compiled on several other
affected architectures.
2004-03-13 17:31:33 +00:00
yamt aad9f63765 before resuming from failure during return to user mode,
- clear PSL_NT.  it can be set by userland because setting it
  isn't a privileged operation.
  (cf. DSA-336-1, CVE-2002-0429)
- set PSL_I.  otherwise, if SIGSEGV is ignored, we'll
  end up to infinite loop, generating the same traps, with
  interrupts disabled.
2004-03-11 11:42:04 +00:00
yamt b62ef7b657 update trap(), resume_iret and friends to match with
the recent version of INTRFASTEXIT.
might be related to PR/24711.
2004-03-11 11:39:25 +00:00
junyoung 0f89803028 Drop trailing spaces. 2004-03-05 11:30:50 +00:00
dsl 44eaa39982 Report errno value from boot1() - even though the standalone FS code
seems to translate everything into ENOENT.
2004-02-28 23:01:55 +00:00
dsl da7ffa3cbe Look for /boot in the 'a' partition (from the label in the mbr partition)
if it can't be found in a filesystem (or raid set) at the start of the
mbr partition.
2004-02-28 22:32:23 +00:00
dbj 5b782a2183 allow err of IREENT_MAGIC when looking for interrupt frames 2004-02-28 20:30:58 +00:00
dbj 0dcc30f1ff fix bug in tracing current process by explicit pid 2004-02-28 02:58:35 +00:00
dbj ba0f8cbecc fix an uninitialized variable problem that prevented t/u from working.
this also helps some when no symbols are available
2004-02-28 01:00:30 +00:00
dbj d3e00c7d64 fix backtracing through interrupt frames and system call frames 2004-02-27 22:52:03 +00:00
enami ac317107c7 Backout (part of) rev. 1.187, since the control no longer fall through. 2004-02-27 21:37:48 +00:00
jdolecek b1d292e1be add yet another ServerWorks variant
from PR port-i386/24570 by Ray Phillips
2004-02-27 09:01:26 +00:00
perry 39c2ad666c fix another whitespace nit 2004-02-25 18:56:26 +00:00
perry c5e487ca2c juggle tabs and spaces so comments don't nuke line lengths as badly 2004-02-25 18:50:01 +00:00
wiz 516a72484d Spell through with two hs. From Peter Postma. 2004-02-24 15:24:35 +00:00
junyoung 2402a07435 - Locate comment in right place.
- Fix wrt protection against multiple inclusion.
2004-02-21 04:31:40 +00:00
yamt d749a2d0b4 defer pmap switching until it's really needed
to avoid frequent loading of cr3 register, which involves tlb flush.

with some fixes/improvements from Stephan Uphoff and Bang Jun-Young.
2004-02-20 17:35:01 +00:00
drochner 893de0a21e signal SIGSEGV/SEGV_ACCERR if non-executable stack is jumped to 2004-02-19 17:02:44 +00:00
uebayasi 5d41e06074 Update some URLs. 2004-02-19 12:23:47 +00:00
wiz bb3980ab7a Remove last traces of DUMMY_NOPS option that was removed some
time ago.
From Jeff Rizzo in PR 24442.
2004-02-16 17:11:26 +00:00
bjh21 5aca86918f Add a new MI attribute, pckbc_machdep_cnattach, and change pckbc_cnattach()
to only call pckbc_machdep_cnattach() if this is present.  This allows
pckbc_machdep_cnattach() to be omitted entirely on most ports, where it only
returns ENXIO anyway.

The devices with this attribute at the moment are pc(4) on i386 and bebox, and
pckbc on sparc, where pckbc_machdep_cnattach() mysteriously returns 0 rather
than ENXIO.
2004-02-14 14:33:28 +00:00
drochner dc30e923ea plug kernel lock leaks 2004-02-13 18:57:19 +00:00
wiz d20841bb64 Uppercase CPU, plural is CPUs. 2004-02-13 11:36:08 +00:00
yamt 03e3b6a13c pmap_create: initialize pm_cpus. 2004-02-11 12:15:12 +00:00
drochner 5ab60443ab please test-compile before committing 2004-02-06 10:28:03 +00:00
junyoung bf274fed3f ANSIfy & KNF. 2004-02-06 08:18:39 +00:00
jdolecek 5ecaa7ecee add dependency on isadma for atppc attachments
add atppc_isadma.c for atppc@isapnp and atppc@ofisa, too
2004-01-31 13:59:20 +00:00
dbj ce701fa38b fix for backtracing through trap frames from Christian Limpach 2004-01-29 04:58:50 +00:00
yamt 2a93afdfd5 rename i386 mdlwp flags from MDP_ to MDL_
to avoid confusion with mdproc flags which also have MDP_ prefixes.
2004-01-28 10:48:55 +00:00
yamt 20236bf218 gdt_alloc_cpu: use unmanaged mappings as gdt_init and gdt_grow. 2004-01-28 10:43:50 +00:00
jdolecek 41f3d22517 add PNPBIOS attachment foor atppc(4) driver; compiles, otherwise untested 2004-01-28 09:09:14 +00:00
scw 43cdf5ffb6 __splbarrier() is deprecated in favour of the MI __insn_barrier(). 2004-01-26 19:43:25 +00:00
jdolecek e702ddcd47 include SMBFS support 2004-01-23 13:43:46 +00:00
jonathan e83c4e9b7e An i386 config file that includes GENERIC and adds ``options FASSDT_IPSEC''.
Intended as a tinderbox/regression-test aid, to prevent skew or
other bitrot between KAME IPsec and fast-ipsec.
2004-01-23 02:16:38 +00:00
jdolecek 6c14651ea0 cleanup old lpt(4) attachment, and glue ppbus in so that they can coexist:
* lpt device is defined in MI place (dev/ppbus/files.ppbus), dev/ic/lpt.c
  is included there too; dev/ic/lpt.c is not included if ppbus is
  configured or if there is alternative platform lpt (like for pc532)
* g/c MD lpt definitions and custom puc/upc attachments,
  glue moved to conf/files and dev/pci/files.pci respectively; remove
  device lpt definition from dev/isa/files.isa
* add ppbus parport attribute, atppc device attachments, adjust plip and lpt
  glue
2004-01-20 19:58:00 +00:00
martin da4e67accc Do not export __HAVE_RAS to userland. Applications are supposed to try
rasctl() and detect failure with EOPNOTSUPP.
2004-01-18 18:23:19 +00:00
perry c70305f794 Make the warning on NEW_BUFQ_STRATEGY much milder -- I've upgraded it
to "Likely stable". I'm not going to make it the default unilaterally
but I really think it should be.
2004-01-16 17:02:05 +00:00
dyoung dee4867ed0 Compute tags for `*.[sS]' instead of `*.s', only. 2004-01-16 10:08:42 +00:00
yamt 7246e2cc80 issue memory read barrier for BUS_DMASYNC_POSTREAD operation.
PR/21665 from Stephan Uphoff.
2004-01-14 11:31:55 +00:00
yamt 6125e101f7 remove a duplicated definition of MDP_USEDFPU. 2004-01-14 11:29:40 +00:00