问题标签 [opensolaris]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
112 浏览

solaris - OracleSolaris 11.2——要使用的工具链

有两个选项 - SunStudio 或 gcc 工具链。开发驱动程序时要遵循的常见做法是什么——确保它使用 32 位和 64 位模式的两种编译器构建,或者选择一个编译器并坚持使用它?

谢谢。

0 投票
2 回答
22 浏览

multithreading - OracleSolaris 11.2 -- getinfo 入口点和多线程访问

我正在开始实现第一个 Solaris 设备驱动程序。在实现getinfo入口点例程时,我们是否必须关心它可以被不同的内核线程调用?通常这个函数更新每个实例的软状态数据结构,并且在多线程访问的情况下,该结构必须由互斥锁保护。

所以我的问题是getinfo回调是否可以由系统的多个线程调用,或者操作系统保证只有一个线程调用它?这个man getinfo不是很清楚。

谢谢。

0 投票
0 回答
573 浏览

solaris - OracleSolaris 11.2 -- 向系统添加驱动程序,连接失败

我正在学习 Solaris 并编写一个简单的驱动程序;目前我实现了基本的入口点,即_init, _info, _finit, *attach, *detach. 它编译和链接没有问题,然后我将它复制到/usr/kernel/drv/amd64/并调用:

目前我在 _attach 例程中所做的是:

ddi_get_instance ddi_soft_state_zalloc ddi_get_soft_state

并返回 DDI_SUCCESS

不多,但可能当驱动程序加载到内存中时,系统(devfsadm)期望在devfs中创建一些条目,但是我的驱动程序没有注册任何字符设备节点,结果失败了?

0 投票
1 回答
69 浏览

solaris - OracleSolaris 11.2——PCI 是否需要 /usr/kernel/drv/driver.conf?

我正在为学术目的实现一个小型 PCI 驱动程序,我不清楚我们是否真的必须提供一件事driver.conf?我阅读的不同材料(包括http://blog.csdn.net/hotsolaris/article/details/1763716)说,对于 PCI,驱动程序配置文件是可选的,但在我的情况下,似乎pci_config_setup()只有驱动程序才能成功。 conf提供:

然后我做:

它添加到系统中,没有警告或错误消息。所以我假设 PCI 设备的某些属性不能由系统自动派生,例如父总线?

如果有人能对此有所了解,我将不胜感激。谢谢。

0 投票
1 回答
54 浏览

solaris - OracleSolaris 11.2 -- /dev/* 中的字符设备

通常在 Linux 中,PCI 驱动程序可以通过字符设备向用户区公开控制接口,例如/dev/drv_ctl,用户应用程序可以使用ioctl()打开的文件描述符读取/写入 I/O 控制命令。

在 Linux 中,我们使用register_chrdev()内核 API 创建它。

我希望在 Solaris 上具有相同或相似的机制和行为,但似乎在 Solaris 上它的工作方式略有不同;DDI 例程ddi_create_minor_node()需要一个节点类型来指示音频、块、网络等设备,这对我来说看起来很模糊,例如加密 PCI 设备属于什么类型?

另外,似乎在下面而不是在下面ddi_create_minor_node() 创建一个节点/devices/*/dev/*

如果有人能澄清我的疑问并指出正确的方向,我将不胜感激。

谢谢。

0 投票
2 回答
44 浏览

file-io - OracleSolaris 11.2 -- 简单文件 I/O、cc 警告

现在我构建它:

它确实执行得很好,但是警告是什么?

0 投票
1 回答
59 浏览

solaris - OracleSolaris 11.2 - PCI 设备的定位功能

我需要 linuxpci_find_capability内核函数的 solaris 模拟。我/usr/src/寻找了一些相似之处,但没有找到任何接近它的东西。pci/pcie 驱动程序通常使用什么来查找设备支持的功能?谢谢。

0 投票
1 回答
702 浏览

crash - OracleSolaris 11.2 在引导时崩溃

作为 PCI 驱动程序开发实验的结果,我的内核崩溃了。现在我处于操作系统启动并再次崩溃的情况,因为它试图加载我的错误驱动程序。修复它的方法是什么,可能避免启动我的驱动程序,以便我可以在“安全”模式下登录系统,然后修复我的驱动程序或至少从系统中卸载?

更新阅读http://docs.oracle.com/cd/E36784_01/pdf/E36801.pdf和其他文档后,似乎步骤如下:

1) 从 solaris CD 引导

2)选择壳牌

3)zpool import -R /a rpool

4)zfs mount rpool/ROOT/zfsBE

5)cd /a并从/usr/kernel/drv/

不完全确定,我不想再搞砸系统,所以想从 Solaris 大师那里得到确认。

UPDATE2所以上面的修复方案几乎对我有用,也就是说我能够导入rpool并且它自动安装/export/home在下面,这让我可以删除我的错误驱动程序,因为早些时候我从;/a建立了一个软链接到它。/usr/kernel/drv基本上我能够重新启动并启动 solaris,没有任何问题,也没有错误消息,所以我什至没有运行fsck. 但是对我不起作用的是zfs mount rpool/ROOT/solaris哪个是根 FS,因为我想从/usr/kernel/drv. 错误消息说我应该用mount.

顺便说一句,现在我复制我的驱动程序/tmp并创建一个链接/usr/kernel/drv/amf64/mydrv,所以如果发生崩溃,系统会重新启动并清理 /tmp 分区。稍后我将需要在 beadm 上投入一些时间。

谢谢。

0 投票
1 回答
292 浏览

solaris - OracleSolaris 11.2 - ctags 和 vi

在新安装的 OracleSolaris 上,我有base-developer-utilities包中的 ctags。它不支持递归,所以我生成标签如下:

生成了标签,但由于某种原因 vim 无法理解它,即它只是没有看到任何标签,尽管我添加了它们set tags,而是报告错误E426: tag not found

标签标签文件中。

有人知道它可能有什么问题吗?谢谢。

0 投票
0 回答
34 浏览

bit-manipulation - OracleSolaris 11.2 和位操作

是否有任何可用的标准位操作例程/宏,例如 SETBIT、CLEARBIT 之类的。我在 中找到了原子位操作man -s9f atomic_bits,还有别的吗?

谢谢。