- 02 Apr, 2017 7 commits
-
-
Vikram Narayanan authored
Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
checksum and DQL (dynamic queue limits) are used by ixgbe driver. Add this to liblcd as this may be used by other modules too in the future. Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
A module parameter is added to the KLCD module, which is exposed by the kernel in sysfs. The dispatch loop monitors for a change in this variable and sends a message to LCD to exit, thereby paving way for LCD to gracefully exit. Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
msleep is just a wrapper around udelay, which is a tight loop. msleep must be replaced with a real timer in the future Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
A detailed list of functions supported * register_netdev * ether_setup * eth_mac_addr * eth_validate_addr * free_netdev * netif_carrier_off * netif_carrier_on * netif_device_attach * netif_device_detach * netif_set_real_num_rx_queues * netif_set_real_num_tx_queues * consume_skb * unregister_netdev * eth_platform_get_mac_address * dev_addr_del * device_set_wakeup_enable * eth_get_headlen * netif_tx_stop_all_queues * pci_disable_pcie_error_reporting * pci_bus_read_config_word * pci_bus_write_config_word * pci_cleanup_aer_uncorrect_error_status * pci_disable_device * pci_disable_msi * pci_disable_msix * pci_enable_msix_range * pci_enable_msi_range * pci_enable_pcie_error_reporting * pcie_capability_read_word * pcie_get_minimum_link * pci_enable_device_mem * pci_request_selected_regions * pci_request_selected_regions_exclusive * pci_set_master * pci_save_state * pci_restore_state * pci_prepare_to_sleep * pci_set_power_state * pci_release_selected_regions * pci_select_bars * pci_wake_from_d3 Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
- 29 Mar, 2017 1 commit
-
-
Vikram Narayanan authored
Replace * dev_{warn,err,info,crit} with LIBLCD variants. * v{m,z}alloc with kmalloc for now as vmalloc is not fully supported in the liblcd implementation. * {alloc,free}_pages with lcd variants Mask functions that won't be used with LCD driver (for instance irq related stuff). Add stubs for other functions that are unlikely to be RPC-ed or pulled in. Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
- 27 Mar, 2017 5 commits
-
-
Vikram Narayanan authored
Add the original driver, stripping all the files that are not necessary for our 82599 hardware. Also remove (#ifdef) unneeded fancy features such as SRIOV, PTP, HWMON, DEBUGFS, DCA, DCB. Compiles fine. There are unresolved symbols though. Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
PCI bar regions are accessed by corresponding drivers. ixgbe accesses only BAR0 region. Map this into the lcd using lcd_ioremap. Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
Instead of using naive schedule() that hogs the cpu, use a wait queue and wake up the thread when someone pulls the plug. Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
Add support for remove function pointer and alloc_etherdev_mqs rpc. Also add appropriate support in the cap for insertion/removal of newly introduced containers. Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
struct net_device is wrapped inside a container for the sake of LCDs. To facilitate this, allocate memory for net_device_container instead of net_device. Alter the api for accessing private area of net_device struct Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
- 19 Mar, 2017 1 commit
-
-
Vikram Narayanan authored
Populate boot, lcd, klcd modules of ixgbe and add a minimal ixgbe_main.c file which tries to do pci_register_driver during load and unregister during exit. Functions supported: * probe Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
- 17 Mar, 2017 4 commits
-
-
Vikram Narayanan authored
Update build scripts to build ixgbe test_module as well Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
oh! no. not again! Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
- 23 Feb, 2017 1 commit
-
-
Vikram Narayanan authored
Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
- 05 Jan, 2017 1 commit
-
-
Vikram Narayanan authored
This script creates a tree structure with the necessary files for an LCD module. Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
- 19 Dec, 2016 18 commits
-
-
Vikram Narayanan authored
Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Charles Jacobsen authored
-- Needed to move ASYNC macro inside loop in pmfs dispatch loop -- Add pre_hook.h and post_hook.h headers to pmfs source files -- Fix get_current to return current_task global in liblcd/resolve.c, rather than use %gs percpu variable (was causing page fault) Switching gears for a moment to fix some things in libasync.
-
Charles Jacobsen authored
-
Charlie Jacobsen authored
ioremap_cache and friends just assume the memory is already mapped in the address spaces, and does a phys -> virt translation. request/release memory regions is a no-op inside the LCD. The non-isolated glue for mount will need to invoke these functions.
-
Charles Jacobsen authored
unregister fs does a synchronize_rcu, which basically waits for all cpu's to enter a "quiescent" state. The PMFS LCD thread was never yielding as it waited for the response, so we had a deadlock. I just needed to move cond_resched into the right place in microkernel/run.c.
-
Charles Jacobsen authored
Kmalloc memory is not executable by default. I also needed to make the maximum size ram map allocation bigger in order to map 2 GBs.
-
Charles Jacobsen authored
-
Charles Jacobsen authored
We need a way to temporarily prevent external interrupts from causing an LCD exit.
-
Charles Jacobsen authored
You have to be careful where you put your asyncs, especially with poll recv. If you wrap the call to poll recv in an async, you will consume lots of memory. I moved the async so it surrounds the dispatch function only. In the process, to debug, I updated libasync with THCDumpAllStacks (I was trying to see what all the stacks were - they were all coming from poll recv). NOTE: While debugging, I tweaked the microkernel dump stack code to work for THCDumpAllStacks (continue walking until we hit a frame or return address). If you don't make this change, THCDumpAllStacks will not crash, but it won't be informative either (the stack walk will stop too soon). I'm able to run at least 100 iterations now of mount/unmount without any problems.
-
Charles Jacobsen authored
I wasn't acknowledging receipt of a couple responses, and the async ipc buffer (the vfs tx buffer) slowly filled up after a couple of test iterations. But not all the way. It should be noted that if the async ipc buffers are not big enough, you will get a deadlock. This is because so many requests stay active before they are finally ack'd with a response. This is due to the criss-crossing.
-
Charles Jacobsen authored
Needed to null out cnode metadata.
-
Charles Jacobsen authored
Wasn't storing metadata in cnode in cspace in a certain case.
-
Charles Jacobsen authored
I forgot I was memset'ing it to 0 in slab.c (and it wasn't necessary).
-
Charles Jacobsen authored
-
Charles Jacobsen authored
Command line string parsing functions are sucked in. kthread spawning and waitqueue functions are no-op'd for now (these are for pmfs's log cleaner). In the future, could redef these to use libasync.
-
- 06 Dec, 2016 1 commit
-
-
Vikram Narayanan authored
struct cptr_cache in libcap has struct mutex as a member. In its original definition struct mutex has ifdef'd members, depending on the config chosen. Since, liblcd build undef's certain config's explicitly (such as CONFIG_SMP), this alters the size of struct mutex inside liblcd. To make the struct mutexes equal in size, padding was introduced. with 4.8, there is no difference in struct mutex size inside liblcd. So, make this padding to zero for proper functioning of libcap. Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
- 27 Nov, 2016 1 commit
-
-
Vikram Narayanan authored
__get_cpu_var is replaced by this_cpu_read. From commit, 1e02ce4c x86: Store a per-cpu shadow copy of CR4 CR4 reads take several cycles. So, store a per-cpu shadow copy of CR4. So, replace direct reads with shadow_read() Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-