Commit Graph

39349 Commits

Author SHA1 Message Date
Alexander von Gluck IV
56e6d991bb make math easier to read; fix chipset int length; additions to CardScale
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41561 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-18 04:25:05 +00:00
Jérôme Duval
1f4d9a57e3 revert now unneeded workarounds
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41559 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-17 23:02:44 +00:00
Jérôme Duval
7ea3c0686e missing merge from FreeBSD 8.2
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41558 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-17 22:45:18 +00:00
Alexander von Gluck IV
c41d9ce694 add viewport registers; correct chipset dependent scale code; rename virtualheight to make it more consistant; spell check
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41557 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-17 18:00:58 +00:00
Alexander von Gluck IV
fc7b565382 now CRT is 0-1 vs 1-2
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41556 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-17 17:12:16 +00:00
Alexander von Gluck IV
bd34b2f756 * enhance tracing of accelerant
* introduce a global struct to hold register locations for
  Radeon HD chipset model this accelerant was spawned for.
* add Radeon 5430 PCIID


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41555 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-17 17:08:06 +00:00
Rene Gollent
0677de63aa Mark ACPI module as x86-only. Fixes ARM build regression.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41554 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-17 16:48:55 +00:00
Alexander von Gluck IV
2a2b9f942c r600 chipset pciids are a mess, added a few more chipsets from AMD's site
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41553 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-17 14:44:49 +00:00
Michael Lotz
d8dc6b7d8f Add the ACPI module (and the DPC dependency) to the floppy boot image. It is
used for el-torito booting the CD and anyboot images. Due to the previous lack
of the ACPI module on these, IO-APICs wouldn't get enabled on CD or anyboot
images booted via CD drives.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41551 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-17 11:51:10 +00:00
Rene Gollent
a6e171a7e2 Update trunk version to post-Alpha3 since the latter has now been branched.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41549 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 21:53:38 +00:00
Alexander von Gluck IV
e6f5f4a6ef improve on Radeon HD pciid list
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41548 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 20:29:54 +00:00
Alexander von Gluck IV
6c43ea6336 read and store aperture size (will be used in fblocation calculations)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41543 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 18:10:49 +00:00
Joachim Seemer
f3c3902ce1 Maybe the B_TRANSLATE_COMMENT was too long for HTA? Tried taos' patch of #7494.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41542 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 17:44:23 +00:00
Jérôme Duval
22f4c33994 * select idle alternate when stopping the UVC device.
* set up a dumb deframer.
* received isochronous buffers can be zero length: loop instead of breaking.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41541 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 17:31:38 +00:00
Alexander von Gluck IV
ce8044a8cb card ids are ordered by series as the AMD pciid space is nowhere near sequential; also removing the series word as it doesn't align to the other entries
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41540 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 16:35:26 +00:00
Oliver Tappe
2fe19bf6ac Adjusted code for determining the revision in order to hopefully work on FreeBSD, too
* convert determine_haiku_revision to only contain functions and now pass the arguments 
  via function call


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41539 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 16:11:42 +00:00
Philippe Houdoin
b6ba1daaac There is no point trying to request back from DHCP a link-local
auto-configured address...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41538 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 16:00:18 +00:00
Philippe Houdoin
d7a82feb5c Added a few Radeon HD 48xx devices IDs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41537 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 15:19:02 +00:00
Michael Lotz
aa373c439f We have to decouple the enumeration and marking of the NMIs from the actual NMI
pin configuration as the configuration only happens after preparing the
configuration where we already need the NMI mask.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41536 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 14:59:25 +00:00
Philippe Houdoin
0f6581066d Remove "Parallel Port" print transport add-on from image: until we've a /dev/parallel driver to
actually support it, it make no point to let people think a parallel printer *may* be supported.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41535 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 14:50:26 +00:00
Alexander von Gluck IV
f60710603b be more consistent in bitwise unit conversions
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41534 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 14:46:23 +00:00
Michael Lotz
74e9ede3b2 Simplify and clean up. Removed most of the shifts and made direct masks out of
the macros. This makes things more readable and also fixes the few remaining
80 char limit violations. No functional change intended.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41533 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 14:32:01 +00:00
Michael Lotz
bc409b4915 Fix minor debug output oversight in the last commit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41532 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 14:11:24 +00:00
Michael Lotz
9ae3fdcb02 * Move redirection entry configuration into a separate function and allow to
specify the delivery mode.
* Use that function from ioapic_configure_io_interrupt() and use it when
  configuring NMI sources to actually set the entries to NMI.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41531 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 14:06:27 +00:00
Michael Lotz
86d59c04c6 Support NMI sources. Any non maskable interrupt (NMI) will be marked as
unavailable for routing so that we don't end up configuring anything on them.
I haven't seen these in actual use though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41530 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 13:36:31 +00:00
Michael Lotz
22d72c8ee1 Guard against IO-APICs with too many entries. We only support 64 entries because
we use a 64 bit level triggered mask. In practice these don't exist as far as I
know. If we encounter them at a later stage we need to revisit the mask.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41529 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 13:25:45 +00:00
Michael Lotz
fb5a1727f4 * Implement interrupt source overrides. We install a relay interrupt handler
at the override entry to trigger the overriden vector so that we don't need
  to configure any additional redirections.
* Also configures the polarity and trigger modes found in the override entry.
* When disabling the legacy PIC, retrieve the enabled interrupts and re-enable
  then in the IO-APIC. This will for example make the ACPI SCI work that is
  installed prior to switching interrupt models. Through the transparent support
  for interrupt source overrides it'll also automatically relay from the old to
  the new vector.

This should make ACPI interrupts work and should support relocating the ISA PIT
from irq 0 to a different global system interrupt (usually 2) so that it can
still work when IO-APICs are in use.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41528 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 12:57:40 +00:00
Michael Lotz
9c1714ec1a Enable IO-APICs by default. It's been tested on a broad spectrum of hardware and
all reports so far have been positive. We fall back to legacy mode in the cases
where we can't figure out the correct routing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41527 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 08:42:30 +00:00
Alexander von Gluck IV
e49d783eb9 add proper memory size unit handling across all driver supported cards
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41526 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 04:43:58 +00:00
Alexander von Gluck IV
2be925fd04 * turns out r800 has different register locations :(
* remove device_type and replace with device_chipset
* change MEMSIZE to >> 10 as r600-r700 store this in bytes (r800 uses MB and will be fixed soon)
* add if statement to select what register locations to use based on chipset
** Maybe use a struct or something to store these in a standardized way?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41525 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 04:03:18 +00:00
Scott McCreary
8ba4ac51f5 Updated libiconv gcc2 optionalpackage to clean up B_COMMON_DOCUMENTATION_DIRECTORY/doc directory.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41524 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 03:20:45 +00:00
Alexander von Gluck IV
344802cb7d stir in evergreen/r800 mixins from Xorg radeonhd driver, may need to add to this as I just grep'ed evergreen; r800/evergreen has a different set of registers for some things, thus my work so far not working for me :(
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41523 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 02:53:15 +00:00
Oliver Tappe
8ff44a4329 Fix and improve code for determining Haiku revision from a git repo
* break out most of the CopySetHaikuRevision action into a separate script:
  determine_haiku_revision
* fix git branch detection such that it'll actually work for local branches (thanks to 
  Andreas Färber for the hint)
* add some sanity checks


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41520 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-15 22:45:43 +00:00
Rene Gollent
83a3452c49 Fix build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41519 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-15 19:18:38 +00:00
Alexander von Gluck IV
536fb7eef6 added 4770, thanks moochris!; added 5650, thanks DaaT!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41518 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-15 19:08:24 +00:00
Oliver Tappe
6a5ce30120 Move functions declared in private/system/system_info.h out of the public namespace.
* prepend private functions get_system_info_etc(), start_watching_system() and 
  stop_watching_system() with '__'
* adjust callers accordingly


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41517 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-15 17:02:36 +00:00
Oliver Tappe
22a7fe9695 Cleanup system-revision stuff.
* move system_revision.h to headers/private/libroot
* unify libroot's get_system_revision() (the one I introduced recently) with kernel's
  get_haiku_revision(), the function is now called get_haiku_revision() in the kernel
  and __get_haiku_revision() in libroot
* system_revision.c is now being built as part of libroot and as part of the kernel
* adjusted all callers of get_system_revision() accordingly


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41516 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-15 16:33:30 +00:00
Joachim Seemer
cfd233613f Updated Swedish catkeys.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41515 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-15 16:01:44 +00:00
Michael Lotz
609f2f3393 Check if PCI interrupts are disabled on the EHCI device. Rather unlikely to be
the case, but maybe there's some BIOSes that disable them? More or less poking
around for #5551, doesn't do any harm in any case.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41514 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-15 15:03:38 +00:00
Michael Lotz
c46509339b * Disable interrupts in OHCI before doing BIOS handover. Shouldn't matter much
but maybe it helps on some chipsets to avoid interrupt storms during handover.
* Remove comments that aren't true anymore.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41513 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-15 14:42:53 +00:00
Michael Lotz
3bb5704280 Introduce workaround for the (documented) bug with ATI/AMD SB600 and early SB700
periodic list cache. This workaround is based on similar patches in NetBSD and
Linux and disables the (Advanced) Periodic List Cache on the affected devices
using ATI/AMD specifc registers (as documented in the corresponding AMD
register reference guide).
Also remove a ton of stray whitespace introduced by the isochronous patches.
Please take more care the next time.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41512 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-15 14:36:19 +00:00
Scott McCreary
84464c202e Updated subversion optionalpackages to getrid of gettext dependency.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41511 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-15 06:11:39 +00:00
Scott McCreary
ca4d4538aa Updated neon optionalpackage without dependency on gettext.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41510 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-15 06:08:33 +00:00
Scott McCreary
a94173fd0f Updated gcc4 optionalpackage for yasm to remove dependency on
gettext.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41509 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-15 03:01:33 +00:00
Alexander von Gluck IV
19935655ac add Radeon 5470, thanks RISC!; simplification in Blanking call, thanks Axel!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41507 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-15 00:37:59 +00:00
Michael Lotz
e64bb27712 Fix another oversight of r41500. The size check was using sizeof(char *) instead
of bufferSize, corrupting entries when multiple items within the same menu were
checked.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41505 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-14 23:22:35 +00:00
Michael Lotz
192bc027ea Disabling the local APIC also means disabling SMP, as the APIC is the base for
all inter-CPU messaging. The previously described timekeeping is just an extra
function of local APICs. Before, if you'd select "disable local APIC" it would
still blindly write to invalid memory (targetting the non-mapped local APIC) and
then just hang waiting for the other CPUs (that were obviously not responding
to the init sequence that wasn't programmed).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41504 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-14 23:09:18 +00:00
Michael Lotz
ba0c232abb Fix typo that caused the (first) IO-APIC address not to be set anymore when
configuring SMP via MP tables. We don't support that method anyhow, but it
should still report correctly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41503 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-14 22:37:26 +00:00
Rene Gollent
469cccb22c Fix small error in previous commit that resulted in the fix not working as intended.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41501 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-14 21:12:07 +00:00
Rene Gollent
e21407d07b When applying settings from the boot menus, aggregate them and then add them
to the kernel args in a single go. Otherwise we wind up with more link list
entries than expected, which in turn resulted in settings not quite being
parsed properly upon entering the kernel, which meant that if options were
chosen in both the debug and safe mode menus, only the debug ones were
applied. This might also have resulted in the kernel settings not being
loaded correctly in such an instance.

Should fix various issues people have had with safe mode settings not being
applied properly.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41500 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-14 20:37:37 +00:00