Commit Graph

39210 Commits

Author SHA1 Message Date
Michael Lotz
9b50b2889a * Implement the PCI address retrieval on the kernel side and remove the need
for the introduced get_pci_info() method in ACPI as it doesn't work reliably.
  The new version should be more robust and efficient as it only resolves the
  root bridge values once.
* Don't try to read and use the secondary bus register for the root bridge as
  it isn't actually a normal bridge. We get the root bridge bus by using the
  Base Bus Number (_BBN) method.
* Rewrite the logic to recurse down to all busses.
* Minor debug output changes to make the info more readable.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41371 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-08 01:07:39 +00:00
Michael Lotz
56b5ad0781 Added a temporary opt-in option "enable_ioapic" to the boot menu. This way the
IO-APIC can be easily enabled to test it on various configurations. Note that
the previous default opt-out didn't work because the safemode options would not
be touched at all when not actually entering the boot menu.
Once IO-APIC is more broadly tested this can be removed again and the opt-out
option reenabled.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41370 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-07 21:41:09 +00:00
François Revol
d59f9c1b68 Set MIME type for png files to images/png as should be. NetSurf at least wants it when browsing the docs directly on the svn server.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41369 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-07 19:41:31 +00:00
Michael Lotz
90fd2a0795 Added root name for PCI express, a note about why it works even without it and
a TODO to eventually do it correctly anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41368 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-07 17:36:10 +00:00
Michael Lotz
8c804ef2d6 * Added functionality to resolve the addresses provided in the IRQ routing table
to PCI devices partly using the new ACPI interface and by using bridge config
  information from PCI.
* Added lookup of matching device/pin combinations and update of the relevant
  interrupt line variable via the new PCI module function. This means that the
  Global System Interrupt (GSI) that is used after switching to the IO-APIC is
  now stored in the PCI config space and drivers enumerating these devices will
  now attach their interrupt handlers to the right IRQs.
* Resolve all relevant interrupt information directly into the irq_routing_entry
  so that can be used as the single source for config information. This includes
  resolving the current setting of any PCI link devices into the irq field that
  represents a GSI now.
* Use that info to configure interrupts in arch_int.cpp and remove the logic
  there.
* Some cleanup and added debug output.

This implements the final missing part for using IO-APICs and full APIC mode for
interrupt routing. Note that there is no quirk handling of any form, so this
may very well not work on some configurations. Note also that I have tested this
only on one machine so far. Once proper testing is done the default of disabling
the IO-APIC can be removed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41367 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-07 17:32:12 +00:00
Michael Lotz
0fc2a29e52 Cleanup spaces vs. tabs. Probably those spaces were copied over from ACPICA
sources as they use 4 spaces instead of tabs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41366 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-07 17:07:04 +00:00
Michael Lotz
5789be33af Add a way to look up basic PCI info for an ACPI device. It works for retrieving
the base bus number and segment which is what we're using them for. It should
work generically, however I only tested it to look up PCI bridge devices.
The logic is a subset of what is done in AcpiEvPciConfigRegionSetup when setting
up the operation region for a PCI device.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41365 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-07 16:50:46 +00:00
Michael Lotz
63cffb7ee3 Add a way to store a new interrupt_line value to the PCI module. It both updates
the cached pci_info and writes the new value into PCI config space. Drivers
using either mechanism to enumerate devices will therefore get the updated
value.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41364 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-07 16:40:32 +00:00
Michael Lotz
f8dac47aab Add a debugger command to refresh the cached pci_infos from PCI config space.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41363 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-07 15:49:13 +00:00
Niels Sascha Reedijk
3d2b623f71 Update the header to reflect the height of the logo image, which is 84px instead of 86px. See the discussion on r41337 on haiku-commits.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41362 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-07 08:09:57 +00:00
Joachim Seemer
36883d1e5b Fixing some typos, found by John Scipione and some by myself.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41361 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-07 05:58:20 +00:00
Scott McCreary
989348ea3d Fixed gcc2 sqlite package, previous one had some stray directories in it. The gcc4 zip was ok.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41360 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-07 03:56:56 +00:00
Scott McCreary
94cf4ec0dd Fixed doc directory for xz-utils.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41359 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-07 03:53:29 +00:00
Scott McCreary
28d6f46e24 Cleaned up directories for rsync and added gcc4 build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41358 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-07 03:41:15 +00:00
Scott McCreary
1da9b17c5d Updated groff gcc2 build to clean up directories, added gcc4 built groff.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41357 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-07 03:36:32 +00:00
Scott McCreary
d4b77be645 Cleaned up directories for gperf.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41356 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-07 03:31:32 +00:00
François Revol
6d4e8bc473 More Milan specific stuff...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41355 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-06 21:35:17 +00:00
Alexander von Gluck IV
91235829b2 start a const list of common mode timings (mostly vesa); verify refresh rate is sane by calculating it using pixel clock and horizontal/vertical totals
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41354 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-06 20:50:05 +00:00
Axel Dörfler
ccb1117c85 * Fixed a bug in BPoseView::CreatePoses() that Ingo found, but was apparently
too lazy to fix?!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41353 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-06 20:43:27 +00:00
Alexander von Gluck IV
45aa6cb6a2 revert _currentMode back to the way it should be
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41352 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-06 20:19:01 +00:00
François Revol
6091174371 Add some calls for Milan debugging.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41351 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-06 20:11:05 +00:00
Axel Dörfler
4296233f0e * Made the messed up BMessage* constructors private - since it only affects the
layout API, we probably can just phase it out after a while.
* Introduced new constructors, and added missing flags to one of them to make
  it more convenient to use.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41350 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-06 20:04:55 +00:00
Axel Dörfler
10dfe8970c * Really, there is absolutely no need to pass the default argument to an
optional parameter...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41349 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-06 20:03:15 +00:00
Axel Dörfler
10785555c1 * Style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41348 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-06 19:46:55 +00:00
Axel Dörfler
ff3b4246cc * Style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41347 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-06 19:39:39 +00:00
Alexander von Gluck IV
333bd77062 fix naming of static display mode var; make mode sanity check ensure timing settings are sane instead of less-then-useful positive int check; fix silly bug in tracing output (%d vs %s)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41346 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-06 19:22:39 +00:00
Axel Dörfler
a11e2f430c * Minor coding style fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41345 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-06 19:20:39 +00:00
Alexander von Gluck IV
829200a090 rework r41321, check first character to see if string is empty. Thanks Ingo and Axel!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41344 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-06 18:30:36 +00:00
Alexander von Gluck IV
0974aaee15 add (slightly overly) cautious checks of battery info to avoid NULL segfault... acpi can be flakey at times
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41343 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-06 16:52:26 +00:00
Alexander von Gluck IV
d1baedd428 simplify and enhance tracing; no functional change
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41342 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-06 16:29:49 +00:00
Alexander von Gluck IV
b95e491de2 undid some of r41334, gDisplayMode didn't make sense as
a pointer (also as written would prob crash); use new mode sanity check on the provided static mode

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41341 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-06 05:06:11 +00:00
Michael Lotz
fbf6f924d3 * The integer type is actually 64bit, probably just a typo (from very long ago).
* Some automatic whitespace cleanup.

This makes the interrupt model change via kernel actually work.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41340 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-06 04:28:39 +00:00
Michael Lotz
218aaf536f * Prettify the printed routing table.
* Remove wrong extra line when printing an irq_descriptor.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41339 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-06 02:01:09 +00:00
Michael Lotz
1882d05b95 We need to specify the intended interrupt model with ACPI so that we get the
correct PCI IRQ routing table for that mode. With this, we finally get the right
PIRQ <-> Global System Interrupt mapping and can therefore program the right
IO APIC entries. The only missing part now is to fix up the pci_info of the
devices with the then active GSI.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41338 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-06 01:55:58 +00:00
Matt Madia
fa0af37702 Updated the HAIKU logo to display the registered trademark symbol.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41337 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-06 00:01:40 +00:00
Alexander von Gluck IV
089bcdeab0 move mode related registers into header file
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41336 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-05 22:59:39 +00:00
Alexander von Gluck IV
71f51395d6 add header file ifndef guard
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41335 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-05 22:55:02 +00:00
Alexander von Gluck IV
d5c3acac3e added header file for mode.cpp; change gDisplayMode to pointer for now; add function to quickly perform sanity check on mode lines; enhance tracing
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41334 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-05 22:52:17 +00:00
Axel Dörfler
968d7d8c8d * Forgot to remove some unused code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41333 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-05 22:05:52 +00:00
Axel Dörfler
2bd44ad179 * Changed the look and text of ReadOnlyBootPrompt to be a bit more inviting.
* This should close #5786, but YMMV - comments and corrections welcome!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41332 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-05 21:49:18 +00:00
Axel Dörfler
09dc38501a * Added missing 'const' for the entry_ref paramter of Load(), and Save().
* Cleaned up Keymap.h.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41331 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-05 21:35:39 +00:00
Stefano Ceccherini
ab33d547d2 Fix build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41330 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-05 20:16:48 +00:00
Michael Lotz
c846e2aab0 Remove wrong comment.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41329 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-05 20:06:23 +00:00
Michael Lotz
c0b7f988f4 * Change some of the structure fields to more sensible types.
* The irq values we get from ACPICA are already converted, remove the wrong
  extra conversion from bitfield to irq number.
* Add and handle extended irq structures.
* Disable the legacy PIC when done configuring the IOAPIC. Since during that
  configuration the ACPI module is initialized, the ACPI SCI is still enabled
  in the PIC instead of the IOAPIC. We'll have to delay that routing in the
  ACPI module for it to work.
* Correctly handle the fixed IRQ case for the PCI interrupt routing (hopefully).
* Actually allow for enumeration of possible IRQ settings. Not yet used though.

All of this brings us a bit closer, though it still won't work for PCI
interrupts. ISA interrupts work fine through the IOAPIC as far as my hardware
goes, but PCI interrupts are connected to dedicated IOAPIC pins and I still
haven't figured out how to determine their exact routing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41328 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-05 19:59:04 +00:00
Scott McCreary
b676e13c3b Readded function declarations that were removed in r40397. These are needed for building Pe.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41327 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-05 19:41:52 +00:00
Alexander von Gluck IV
12c25669bf enhance tracing of the radeon_hd accelerant
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41326 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-05 19:25:18 +00:00
Scott McCreary
79e5f20ba1 Missed updating the date on the first yasm filename.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41325 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-05 19:16:38 +00:00
Scott McCreary
db06a74933 Updated subversion to 1.6.15 and cleaned up it's directories.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41324 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-05 18:57:50 +00:00
Scott McCreary
cc038dac22 Updated apr and apr-util builds to clean up their directories.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41323 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-05 18:54:40 +00:00
Scott McCreary
f33d4712c0 Updated xz-utils to 5.0.1, removed unneeded if statement as the xz-utils gcc4 works on both
gcc2 and gcc4.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41322 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-05 18:47:15 +00:00