arch/mips/include/asm/txx9/generic.h
Source file repositories/reference/linux-study-clean/arch/mips/include/asm/txx9/generic.h
File Facts
- System
- Linux kernel
- Corpus path
arch/mips/include/asm/txx9/generic.h- Extension
.h- Size
- 2800 bytes
- Lines
- 99
- Domain
- Architecture Layer
- Bucket
- arch/mips
- Inferred role
- Architecture Layer: implementation source
- Status
- source implementation candidate
Why This File Exists
CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.
- CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/init.hlinux/ioport.h
Detected Declarations
struct uart_portstruct pci_devstruct txx9_board_vecstruct physmap_flash_datafunction txx9_sio_putchar_initfunction __fls8
Annotated Snippet
struct txx9_board_vec {
const char *system;
void (*prom_init)(void);
void (*mem_setup)(void);
void (*irq_setup)(void);
void (*time_init)(void);
void (*arch_init)(void);
void (*device_init)(void);
#ifdef CONFIG_PCI
int (*pci_map_irq)(const struct pci_dev *dev, u8 slot, u8 pin);
#endif
};
extern struct txx9_board_vec *txx9_board_vec;
extern int (*txx9_irq_dispatch)(int pending);
const char *prom_getenv(const char *name);
void txx9_wdt_init(unsigned long base);
void txx9_wdt_now(unsigned long base);
void txx9_spi_init(int busid, unsigned long base, int irq);
void txx9_ethaddr_init(unsigned int id, unsigned char *ethaddr);
void txx9_sio_init(unsigned long baseaddr, int irq,
unsigned int line, unsigned int sclk, int nocts);
#ifdef CONFIG_EARLY_PRINTK
extern void (*txx9_prom_putchar)(char c);
void txx9_sio_putchar_init(unsigned long baseaddr);
#else
static inline void txx9_sio_putchar_init(unsigned long baseaddr)
{
}
#endif
struct physmap_flash_data;
void txx9_physmap_flash_init(int no, unsigned long addr, unsigned long size,
const struct physmap_flash_data *pdata);
/* 8 bit version of __fls(): find first bit set (returns 0..7) */
static inline unsigned int __fls8(unsigned char x)
{
int r = 7;
if (!(x & 0xf0)) {
r -= 4;
x <<= 4;
}
if (!(x & 0xc0)) {
r -= 2;
x <<= 2;
}
if (!(x & 0x80))
r -= 1;
return r;
}
void txx9_iocled_init(unsigned long baseaddr,
int basenum, unsigned int num, int lowactive,
const char *color, char **deftriggers);
/* 7SEG LED */
void txx9_7segled_init(unsigned int num,
void (*putc)(unsigned int pos, unsigned char val));
int txx9_7segled_putc(unsigned int pos, char c);
void __init txx9_aclc_init(unsigned long baseaddr, int irq,
unsigned int dmac_id,
unsigned int dma_chan_out,
unsigned int dma_chan_in);
void __init txx9_sramc_init(struct resource *r);
#endif /* __ASM_TXX9_GENERIC_H */
Annotation
- Immediate include surface: `linux/init.h`, `linux/ioport.h`.
- Detected declarations: `struct uart_port`, `struct pci_dev`, `struct txx9_board_vec`, `struct physmap_flash_data`, `function txx9_sio_putchar_init`, `function __fls8`.
- Atlas domain: Architecture Layer / arch/mips.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.