May 9, 2011  
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31

[03:54:44] <CIA-98> mmlr * r41393 /haiku/trunk/src/system/kernel/arch/x86/ (Jamfile irq_routing_table.cpp irq_routing_table.h): (log message trimmed)
[03:54:44] <CIA-98> Actually use the ACPICA headers to get at the correct types instead of
[03:54:44] <CIA-98> duplicating the structs on our side. IRQ assignment didn't work with extended
[03:54:44] <CIA-98> IRQ resources because the alignment of the structs were different in our local
[03:54:44] <CIA-98> duplicates...
[03:54:45] <CIA-98> Brings in the ACPICA naming sheme and isn't really clean either. So all of the
[03:54:46] <CIA-98> reconfiguration should probably just be moved into the ACPI bus_manager.
[05:58:28] *** Kokito has joined #haiku-jp
[05:58:28] *** ChanServ sets mode: +o Kokito
[05:58:36] *** Kokito has left #haiku-jp
[13:47:24] <CIA-98> phoudoin * r41394 /haiku/trunk/src/system/kernel/system_info.cpp: Remove reference to SVN, now that revision is a VCS-agnostic string...
[13:52:17] <CIA-98> mmlr * r41395 /haiku/trunk/src/system/kernel/arch/x86/irq_routing_table.cpp:
[13:52:17] <CIA-98> Do the PCI device matching using direct PCI config space matches instead of
[13:52:17] <CIA-98> using the already parsed pci_info data from the PCI module. This removes the
[13:52:17] <CIA-98> need to iterate over all of the pci_infos for each routing table entries which
[13:52:17] <CIA-98> makes this an order of magnitude less expensive. Heavily inspired by the
[13:52:17] <CIA-98> corresponding FreeBSD code.
[13:57:51] <CIA-98> mmlr * r41396 /haiku/trunk/src/system/kernel/arch/x86/irq_routing_table.cpp: Tiny cleanup, that one went past the 80 chars.
[14:18:08] <CIA-98> mmlr * r41397 /haiku/trunk/src/system/kernel/arch/x86/ (irq_routing_table.cpp irq_routing_table.h):
[14:18:08] <CIA-98> Read and keep around the originally assigned interrupt_line of the PCI devices.
[14:18:08] <CIA-98> Those can be used to white list PCI IRQs in ISA space (<= 15) as those are
[14:18:08] <CIA-98> basically guaranteed not to overlap with ISA devices. Those white listed entries
[14:18:08] <CIA-98> can then be used if we only have a 16 pin IO-APIC or if there are only legacy
[14:18:09] <CIA-98> IRQ resources available for configuration (i.e. ones with bitmasks of 16 bits,
[14:18:10] <CIA-98> limiting their range to IRQs 0-15).
[15:03:49] <CIA-98> mmlr * r41398 /haiku/trunk/ (3 files in 2 dirs): Add missing const to the path argument of get_handle().
[15:25:09] <CIA-98> mmlr * r41399 /haiku/trunk/src/system/kernel/arch/x86/ (irq_routing_table.cpp irq_routing_table.h): (log message trimmed)
[15:25:09] <CIA-98> * Separate out matching PCI devices and updating their info. They will be called
[15:25:09] <CIA-98> independently. Matching will happen first to enumerate and match all devices.
[15:25:09] <CIA-98> Updating will happen after configuring all link devices, so once we know the
[15:25:09] <CIA-98> final GSI of all entries. The info about matching functions is kept in a
[15:25:09] <CIA-98> bitmask in the table entry.
[15:25:10] <CIA-98> * Move routing table entry handling out of the loop into it's own function to
[17:36:42] <CIA-98> mmlr * r41400 /haiku/trunk/src/system/kernel/arch/x86/ (arch_int.cpp irq_routing_table.cpp irq_routing_table.h): (log message trimmed)
[17:36:43] <CIA-98> * Seperated out reading and enabling IRQ routing. Reading will only read the
[17:36:43] <CIA-98> configuration that doesn't require any link device changes and will only
[17:36:43] <CIA-98> prepare for updating the pci_info. Enabling then does the link device setup
[17:36:43] <CIA-98> and updates the pci_info with the new IRQ values.
[17:36:43] <CIA-98> * Configuring link devices now takes into account that multiple devices may
[17:36:44] <CIA-98> share a single link device, meaning that the sharing PCI devices can't be
[18:44:43] <CIA-98> mmlr * r41401 /haiku/trunk/src/system/kernel/arch/x86/ (arch_int.cpp irq_routing_table.cpp irq_routing_table.h): (log message trimmed)
[18:44:43] <CIA-98> * Balance the IRQs amongst the possible ones. A simple usage counter, filled by
[18:44:43] <CIA-98> hardwired GSIs and updated on configuring the link devices, is used for that.
[18:44:43] <CIA-98> This doesn't guarantee optimal results as some link devices may not be
[18:44:44] <CIA-98> configurable to some IRQs and we might fill up their slots this way. Most of
[18:44:44] <CIA-98> the time this should be good enough though.
[18:44:45] <CIA-98> * Take the BIOS assigned IRQ white list into account when assigning IRQs in the
[18:47:38] <CIA-98> mmlr * r41402 /haiku/trunk/src/system/kernel/arch/x86/irq_routing_table.cpp:
[18:47:39] <CIA-98> Actually increase the usage counter by the amount of devices behind the link
[18:47:39] <CIA-98> device as it may have multiple devices routed to it.
[19:30:45] <CIA-98> bonefish * r41403 /haiku/branches/developer/bonefish/signals/src/system/kernel/thread.cpp: Added TODO.
[19:49:36] <CIA-98> bonefish * r41404 /haiku/branches/developer/bonefish/signals/src/system/kernel/team.cpp:
[19:49:36] <CIA-98> team_remove_team(): No longer acquire the global threads spinlock when removing
[19:49:36] <CIA-98> the team from the hash table. The reason why this was done doesn't exist
[19:49:36] <CIA-98> anymore.
[19:54:04] <CIA-98> bonefish * r41405 /haiku/branches/developer/bonefish/signals/src/system/kernel/team.cpp:
[19:54:05] <CIA-98> Moved the destruction of the team's I/O context from team_delete_team() to the
[19:54:05] <CIA-98> Team destructor. This makes accessing the I/O safe as long as one has a
[19:54:05] <CIA-98> reference to the team. disconnect_mount_or_vnode_fds() is relying on that.
[20:09:35] <CIA-98> humdinger * r41406 /haiku/trunk/data/catalogs/apps/ (3 files in 3 dirs): Updated Finnish catkeys.
[23:55:49] *** CIA-98 has quit IRC

top